![](/img/trans.png)
[英]Azure Functions app + Auth0 provider, getting 401 when calling API with auth token
[英]Auth0 Calling API
有人可以幫助您從Auth0 API快速入門中了解以下代碼段
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對該用戶一無所知。 在以上代碼段中生成的訪問令牌。 有效負載中僅包含以下數據:
{
"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?
當從SPA發送其他令牌(來自ASP.NET Core身份驗證)或從SPA發送id_token(它們包含用戶信息)時,API調用將失敗,並出現未授權錯誤。
使用客戶端憑據流時,沒有用戶上下文。 對於SPA,請使用帶有pkce的授權代碼流。 這將返回一個包含用戶ID的令牌。
這有點棘手,所以如果有幫助,這里的消息是什么樣的: https : //authguidance.com/2017/09/26/basicspa-oauthworkflow/
如果需要,很高興回答跟進問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.