Trying to get generic_oauth working with bitbucket.
My config is:
[auth.generic_oauth]
enabled = true
name = OAuth
allow_sign_up = true
client_id = some_id
client_secret = some_secret
scopes = ’ ’
auth_url = Log in with Atlassian account
token_url = https://bitbucket.org/site/oauth2/access_token
api_url = ://api.bitbucket.org/1.0/user
;team_ids =
;allowed_organizations =
(sorry I had to remove the http from the front of api_url because “New users can only post 2 links”)
I keep getting an error:
t=2017-04-28T13:22:27+0000 lvl=eror msg="login.OAuthLogin(get info from generic_oauth)" logger=context userId=0 orgId=0 uname= error="json: cannot unmarshal object into Go value of type []social.Record"
if I change the scope to account, i get same error, if I change it or leave it default I get unkown scope error.
It sounds like your api_url output doesn’t include an email field, or an email:primary entry in the attributes object. Try changing the scopes setting to 'account email' and see if that resolves the problem.
Did you try changing the scopes? Grafana expects an email address for each user, so if it can’t locate one in the data returned from <api_url> it tries to load <api_url>/emails which it expects to return a list of objects containing email and primary attributes.
So I change the scope to ‘account email’ and I got the same thing. But if I also change api_url to https://api.bitbucket.org/1.0/users/ along with scope to ‘account email’ i get this error:
t=2017-04-28T16:47:36+0000 lvl=eror msg=“login.OAuthLogin(get info from generic_oauth)” logger=context userId=0 orgId=0 uname= error=“invalid character ‘N’ looking for beginning of value”
the differen API url provides the following:
[{“active”: true, “is_atlassian_id”: true, “email”: "philip.davies@broadbean.com", “primary”: true}]
Ok, so Bitbucket is close to working with api_url = https://api.bitbucket.org/2.0/user, but the format it returns from that endpoint includes display_name instead of name, and the /2.0/user/emails endpoint also returns incompatible json.
The good news is that in the process of figuring out what was going on I put together this patch, so it should be supported by Grafana in an upcoming release.