【发布时间】:2019-12-11 10:20:38
【问题描述】:
有人可以从Auth0 API快速入门中帮助理解以下代码sn-p
curl --request POST \
--url https://polarcrm.auth0.com/oauth/token \
--header 'content-type: application/json' \
--data '{"client_id":"7Sxxxxxxx","client_secret":"J-_Xxxf5gS0lHQnxxxxxx","audience":"https://api.polarcrm.com","grant_type":"client_credentials"}'
上面的调用是成功的,它为我提供了一个 Access_Token 使用该令牌我可以调用 API,一切正常。
但这对我来说根本没有意义。 我有一个在我的 SPA 应用程序上经过身份验证的用户。 Auth0 已经知道谁是用户并且拥有所有用户信息,包括他的访问令牌和 id_token。 但是现在当该用户调用 API 时,API 对用户一无所知。上面 sn -p 中生成的访问令牌。它的有效载荷中只有以下数据:
{
"iss": "https://polarcrm.auth0.com/",
"sub": "7Sxxxxxx@clients",
"aud": "https://api.polarcrm.com",
"iat": 1564769606,
"exp": 1564856006,
"azp": "7Sxxxxxx",
"gty": "client-credentials"
}
如果我的 API 对调用它的人一无所知,那么该令牌的用途是什么。 API 如何返回用户特定的数据?
如何将用户信息传递给 API?
当发送不同的令牌(来自 ASP.NET Core 身份验证)或来自 SPA 的 id_token(它们包含用户信息)时,API 调用失败并出现未经授权的错误。
【问题讨论】:
标签: authentication oauth-2.0 authorization auth0