簡體   English   中英

AWS Cognito JWT 身份驗證適用於 ID 令牌,但不適用於訪問令牌? 返回 401

[英]AWS Cognito JWT authentication works with the ID Token, but not the Access Token? Returns 401

我已經按照本教程學習了: http://snevsky.com/blog/do.net-core-authentication-aws-cognito

response.AuthenticationResult

AuthenticationResult object 允許我獲取已登錄用戶的訪問令牌、ID 令牌和刷新令牌。

唯一的問題是,我只能通過使用

Authorization Bearer [ID Token]

實際上,我應該使用訪問令牌。 在我對訪問令牌的請求的 header 中切換 ID 令牌時,我總是得到 401 返回。

我也試過刪除“Bearer”但無濟於事。

有沒有人遇到過這個? 我很困惑,它幾乎向我暗示 AWS Cognito 沒有開箱即用?

謝謝

Cognito使用id令牌連接到STS並檢索憑據。 所以這是根據自己的會議的“正確”行為

您可以使用 ID 和訪問令牌進行訪問。

閱讀這篇文章: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html

身份令牌用於根據登錄用戶的身份聲明授權 API 調用。 訪問令牌用於根據指定的訪問保護資源的自定義范圍授權 API 調用。

但是,擁有 2 個令牌很復雜,因為您必須使用 id_token 進行訪問,並使用 access_token 執行與用戶相關的操作(例如更改密碼)。

要僅使用 access_token,您需要在 lambda function 的授權聲明中定義自定義 scope。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM