AWS Cognito-直接访问联合身份验证提供程序登录页面(无cognito登录页面)

时间:2020-06-05 11:49:38

标签: angular amazon-cognito federated-identity

我正在使用配置了Office 365(azure AD)和Google联合身份验证提供程序的AWS Cognito用户池。当我将用户池与 angular 应用程序集成以进行用户身份验证时,我看到了一个Cognito登录页面,可以在其中使用用户池帐户/办公室365 / google登录。如果我将身份提供者名称作为 Office 365 传递,是否可以通过我的Office 365直接登录(即直接重定向到Micronsoft登录页面而无需该中间页面)?

Below is the screenshot

1 个答案:

答案 0 :(得分:1)

最痛苦的方法是右键单击按钮并检查元素。按钮上有一个onclick操作,可带您进入IdP。

直接导航到其中包含的URL,您可以立即进入IdP,而无需先进入“认知托管界面”。

这实际上与AUTHORIZATION端点在official Cognito documentation中解释的相同,只是已经为您完成了。这适用于任何IdP /社交提供者,而不仅仅是Azure AD。

Developer Console

示例

假设检查了元素之后...

window.location.href='/oauth2/authorize?identity_provider=Facebook&redirect_uri=https://network.exampleloadbalancer.net/oauth2/idpresponse&response_type=CODE&client_id=6chta8di2d737altiugnidsoq9&state=AKRbmsZduQIQJpVGKo2wehrioXltqL12CYZMYotDjLKcSwWWQr+DSf8wmQ15ZHpSfA+ec7H4SQqsgmMyFcz9w/cp2fsQdnzC\/NbKnKJy+wxQlgHLItPHtOHbn9pocoNVV3iDr63g07BFVaqGjfC\/u4Be\/2krgtjtNQChhFSVk5tQ3mouleSSGHEZ+6bdfmb\/VkMdUPwVzKcSO2uFSg==&scope=openid'

,您的Cognito域是https://exampleloadbalancer.auth.us-east-1.amazoncognito.com

  1. 首先,删除所有\个字符。 (您可能还没有)
  2. 只需将URL部分连接在一起,并将您的用户链接到最终的URL。

完成结果:

https://exampleloadbalancer.auth.us-east-1.amazoncognito.com/oauth2/authorize?identity_provider=Facebook&redirect_uri=https://network.exampleloadbalancer.net/oauth2/idpresponse&response_type=CODE&client_id=6chta8di2d737altiugnidsoq9&state=AKRbmsZduQIQJpVGKo2wehrioXltqL12CYZMYotDjLKcSwWWQr+DSf8wmQ15ZHpSfA+ec7H4SQqsgmMyFcz9w/cp2fsQdnzC/NbKnKJy+wxQlgHLItPHtOHbn9pocoNVV3iDr63g07BFVaqGjfC/u4Be/2krgtjtNQChhFSVk5tQ3mouleSSGHEZ+6bdfmb/VkMdUPwVzKcSO2uFSg==&scope=openid