Auth0 - 为啥范围不足以及如何处理?
Posted
技术标签:
【中文标题】Auth0 - 为啥范围不足以及如何处理?【英文标题】:Auth0 - why insufficient scope and what to do with it?Auth0 - 为什么范围不足以及如何处理? 【发布时间】:2016-10-30 18:20:20 【问题描述】:我正在尝试使用 Auth0 进行身份验证并获取用户数据。
import json
import requests
payload =
'grant_type': 'password',
'username': '********',
'password': '********',
'client_id': '********',
'connection': 'Username-Password-Authentication',
'scope': 'openid'
# 'scope': 'openid, read:clients, read:client_keys'
# 'scope': 'read:clients'
base = 'https://********.auth0.com'
url = base + '/oauth/ro'
response = requests.post(url, data=payload)
response = json.loads(response.content)
headers = "Authorization": "bearer " + response["id_token"]
response = requests.get(base + '/api/v2/clients/joebloggs', headers=headers).json()
print response
我一直得到的是
u'errorCode': u'insufficient_scope', u'message': u'Insufficient scope, expected any of: read:clients,read:client_keys', u'error': u'Forbidden', u'statusCode': 403
究竟出了什么问题,该怎么办?
【问题讨论】:
【参考方案1】:您不能将id_token
用于 Auth0 API。您需要 API (v2) 的特定令牌(在您的情况下,您需要 read:client
范围)。见这里:https://auth0.com/docs/api/management/v2
【讨论】:
嗨 Eugenio Pace,您所说的“需要阅读:客户范围”是什么意思?我如何更改范围,范围是什么?您能否提供更多详细信息? 这意味着要调用API,您需要获取一个具有read:client
范围的access_token :-)。换句话说,您对令牌的请求需要包含read:client
范围,并且如果获得授权,您将能够调用 API。 id_token
将没有该权利。以上是关于Auth0 - 为啥范围不足以及如何处理?的主要内容,如果未能解决你的问题,请参考以下文章
How Javascript works (Javascript工作原理) 内存管理及如何处理 4 类常见的内存泄漏问题