[英]how to get the user attribute from aws cognito in c#
我正在使用 AmazonCognitoIdentityProviderClient SDK。 我正在嘗試在 cognito 中為用戶獲取自定義屬性。 從 c# 前端我傳遞用戶名、密碼和 email id。 是否有任何 function 從 cognito 檢索用戶屬性?
在 Cognito 成功驗證池中的用戶后,您將收到多個 JWT - 訪問令牌、ID 令牌和刷新令牌。 這些令牌可以在 SDK ( InitiateAuthResponse
) 返回的身份驗證結果 object 中訪問。
您可以驗證和解碼 ID 令牌以解壓縮有關用戶身份的聲明。 這還將包括您在用戶池中定義的任何自定義屬性。 對於 .NET,您可以使用JwtSecurityTokenHandler
來解碼 JWT( Sytem.IdentityModel.Tokens.Jwt
命名空間)。 解碼令牌后,訪問Claims
屬性以獲取用戶信息。 自定義屬性以custom:
為前綴,而 Cognito 屬性(例如用戶名)以cognito:
為前綴。
這是關於如何解碼令牌的 AWS 文檔: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html
這是一個關於如何使用JwtSecurityTokenHandler
的示例: https://www.jerriepelser.com/blog/manually-validating-rs256-jwt-dotnet/
您還可以使用訪問令牌使用 SDK 直接查找用戶,AWS SDK 的響應將包含用戶屬性。 這是關於那個的文檔: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html
嘗試 Amazon.CognitoIdentityProvider.AmazonCognitoIdentityProviderClient.GetUserAsync(),它將返回所有標准和自定義屬性。 請注意,該方法只會返回設置了值的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.