0

认证后,我没有从aws认知用户池获取访问令牌,我在web url中取代代码。未使用amzon认知域UI登录后得到cognito访问令牌(从userpool生成)?

步骤我都做跟随: -

第1步:创建一个用户群,并建立所有要求。

第2步:在用户池左侧导航栏 - >联盟 - >身份提供商(Facebook,谷歌加)中添加身份提供商凭证。

步骤3:完成属性映射(用户池左侧导航栏 - >联合 - >属性映射)。

步骤4:启用身份提供商和添加回调URI(用户池左导航栏应用集成 - >应用客户端设置 - >启用身份提供商)(允许的OAuth流 - >授权代码许可)

步骤5:创建了URI域名(User pool left导航栏应用程序集成 - >域名) ,并在Facebook应用以及谷歌plus账户(https://XXXXXXXXX.auth.us-east-1.amazoncognito.com/oauth2/idpresponse)中添加了该域名。

第6步:通过AWS在浏览器中打开托管域(https://XXXXXXXXX.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=abcdefghi&redirect_uri=https://abcdefg

enter image description here

第七步:登录到开放的用户界面,并将其重定向到成功登录与查询参数的代码,而不是访问令牌如何在我的应用程序中获取访问令牌。

enter image description here

请帮助我。

回答

1

Authorization code grant流程将只向您的应用程序出售授权代码。此代码可以与Cognito令牌端点交换令牌。

如果您想将令牌直接出售给您的应用,则应该使用Implicit grant流。

参考文档:http://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-idp-settings.html

+0

万岁!!!!非常感谢你为我工作。你让我今天一整天都感觉很好。 –

+0

我还有一个疑问,在这里我使用用户池,因为在我的应用程序中,用户可以使用facebook gmail和cognito登录。假设我在Facebook上的帐户[email protected]与gmail上的帐户相同,并且我在cognito上注册了相同的帐户,我创建了一个lambda函数,以便我可以控制重复的电子邮件,无论它们来自任何登录进程,每次只有一个入口将在用户池中存在关于[email protected]的信息,并且此单个入口将用于所有cognito gmail和facebook。 为此,我在我的应用程序上使用了域webview。但我的要求是 –

+0

---不同的是,我在Ionic 3上做这个项目,并且webview并不是我必须创建本地内容的最佳选择,**您能否告诉整个过程一步一步**为本机应用程序使用SDK我试图从很长时间实现相同,但我失败了,每当我创建一个用户池并且联合池在身份验证提供程序中添加了用户池标识时,那么当我使用Gmail或Facebook登录时,将会有一个标识表来自gmail或Facebook登录,一个来自用户池中的认证注册过程。现在这里是来自abc @ gmail的3位用户。一个来自 –

相关问题