1
0
Fork 0
mirror of https://github.com/imjasonh/appengine-value synced 2026-07-06 22:12:22 +00:00
appengine-value/README.md
2014-08-22 16:43:23 -04:00

51 lines
1.1 KiB
Markdown

`appengine-value` is a simple utility library to handle simple secret configuration values in an App Engine app.
Problem
-----
Your app requires secret values (OAuth secrets, API keys, passwords) and you rightly don't want to specify these values as consts in your source code.
**Don't do this!**
```
const (
clientID = "123456.clientaccount.foo"
clientSecret = "s8p3rs3cr1t"
)
```
Solution
-----
**Do this instead**
```
import value "github.com/ImJasonH/appengine-value"
func doOAuth(c appengine.Context) {
clientID := value.Get(c, "client_id")
clientSecret := value.Get(c, "client_secret")
// use clientID and clientSecret
}
```
If you have multiple values, you can **batch lookups**:
```
func doOAuth(c appengine.Context) {
vals := value.GetMulti(c, "client_id", "client_secret")
clientID, clientSecret := vals["client_id"], vals["client_secret"]
}
```
Configuration
-----
To set or unset values, use the admin UI which is served at `/_ah/value/admin` -- be sure to map this in your `app.yaml`:
```
handlers:
- url: /_ah/value/.*
script: _go_app
login: admin
```
(You can always remove the URL mapping if you're done setting values)