Basic Auth
By default, an GRIP server allows open access to its API endpoints, but it can be configured to require basic password authentication. To enable this, include users and passwords in your config file:
Server:
BasicAuth:
- User: testuser
Password: abc123
Make sure to properly protect the configuration file so that it's not readable by everyone:
$ chmod 600 grip.config.yml
To use the password, set the GRIP_USER
and GRIP_PASSWORD
environment variables:
$ export GRIP_USER=testuser
$ export GRIP_PASSWORD=abc123
$ grip list
Using the Python Client
Some GRIP servers may require authorizaiton to access its API endpoints. The client can be configured to pass authorization headers in its requests:
import gripql
# Basic Auth Header - {'Authorization': 'Basic dGVzdDpwYXNzd29yZA=='}
G = gripql.Connection("https://bmeg.io", user="test", password="password").graph("bmeg")
Although GRIP only supports basic password authentication, some servers may be proctected via a nginx or apache server. The python client can be configured to handle these cases as well:
import gripql
# Bearer Token - {'Authorization': 'Bearer iamnotarealtoken'}
G = gripql.Connection("https://bmeg.io", token="iamnotarealtoken").graph("bmeg")
# OAuth2 / Custom - {"OauthEmail": "fake.user@gmail.com", "OauthAccessToken": "iamnotarealtoken", "OauthExpires": 1551985931}
G = gripql.Connection("https://bmeg.io", credential_file="~/.grip_token.json").graph("bmeg")