【发布时间】:2016-07-24 16:07:36
【问题描述】:
我正在创建后端服务,并且正在使用 AWS Cognito。 现在,我正在使用我的 Developer Authenticated Identities。 所以,我的用户可以使用我自己的系统登录。这部分完成了。
但是,我在登录后对用户进行身份验证时遇到了问题。假设用户向我发送了访问我的 API 的某些私有功能的请求。如何识别和验证此用户?
如果我使用 facebook 作为登录提供程序,我可以使用他的 Cognito ID 和他的 facebook 访问令牌来完成 http 标头。然后,我可以对他进行身份验证,尝试使用 GetOpenIdTokenRequest 函数获取 Cognito Token。
我会有类似的东西
providerTokens.put("graph.facebook.com", "xxxxxxxxxxxx");
tokenRequest.setLogins(providerTokens);
AmazonCognitoIdentityClient identityClient = new AmazonCognitoIdentityClient();
identityClient.setRegion(RegionUtils.getRegion(Configuration.REGION));
GetOpenIdTokenResult tokenResp = identityClient.getOpenIdToken(tokenRequest);
但是,我没有使用 Facebook。
所以,我尝试了一些类似的方法
providerTokens.put("customdeveloper.authentication.com", "xxxxxxxxxxxx");
tokenRequest.setLogins(providerTokens);
收到我的开发者身份验证不是公共提供者的错误。
如果我朝着正确的方向前进,我会很困惑。我基本上想验证我的用户。类似于我收到令牌的 oauth2 的东西可以检查用户身份。
使用 Cognito 的正确方法是什么?
【问题讨论】:
标签: authentication amazon-cognito