[英]How to retrieve cognito identification data in Appsync Lambda Resolver (Using cdk)
[英]How to retrieve Cognito token from AuthCognitoTokensProvider using swift
我已经成功地将 Amplify 集成到我的项目中。 这帮助我注册、登录和退出。 现在我需要一种方法来检索 Cognito 令牌,以便我可以使用它在我的应用程序中进行 api 调用。 不幸的是,这没有用,当我尝试从我的 Amplify.Auth.fetchAuthSession 方法中转换 session 时,出现以下错误。 而且我还能够获得 isSignedIn 状态。 > cast session Optional(AmplifyPlugins.AWSAuthCognitoSession(isSignedIn: true, userSubResult: Swift.Result<Swift.String, Amplify.AuthError>.failure(AuthError: 消息发生意外错误:发生未知错误恢复建议:这不应该发生。一直报错可能是有BUG,请查看
错误域=com.amazonaws.AWSCognitoIdentityErrorDomain 代码=5“(空)”用户信息={__type=InvalidIdentityPoolConfigurationException,消息=身份池配置无效。 检查为此池分配的 IAM 角色。}), identityIdResult: Swift.Result<Swift.String, Amplify.AuthError>.failure(AuthError: 消息发生意外错误:发生未知错误恢复建议:这不应该发生。
Amplify.Auth.fetchAuthSession { result in
do {
let session = try result.get()
print(session.isSignedIn)
let castSession = session as? AWSAuthCognitoSession
print("cast session ", castSession)
if let cognitoTokenProvider = session as? AuthCognitoTokensProvider {
let tokens = try cognitoTokenProvider.getCognitoTokens().get()
print("Token ", tokens)
}
} catch {
print(error.localizedDescription)
}
}
isSignedIn 值为真。 当我尝试转换和检索 Cognito 令牌时抛出 catch 异常
在我的项目中设置放大时,我只能选择 Cognito 用户池。 这解决了我的问题,我能够检索到 accessToken 和 rest。希望有一天这能帮助某人干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.