C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Azure B2C与AWS Cognito联合身份的集成大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是将Azure B2C与AWS集成的过程,即将AWS Cognito与Azure B2C一起设置为联合身份提供程序,并将其用于移动应用程序的登录目的.

在大多数情况下,我相信我已经正确配置了一切.这就是我到目前为止所做的

>我创建了@L_607_1@B2C租户并在租户中设置了@L_607_1@“应用程序”以及@L_607_1@SignUpAndSignInPolicy.应用程序启用了本机和Web客户端,并且还允许隐式流.
>我已将Azure B2C租户配置为AWS中的身份提供商,并为IdP创建了必要的角色.
>我已创建AWS Cognito Identity Pool并将其配置为使用上述IdP
>我正在使用MSAL库对Azure B2C进行身份验证,特别是MSALPublicClientApplication.init(clientId,kAuthority)方法,后跟acquireToken.
>这将在浏览器中显示交互式登录,并通过自定义URL将令牌返回给应用程序.令牌有效,我已经用JWT tool验证了它.
>然后,我使用在步骤3中创建的Cognito Identity Pool和自定义identityProvideRMANager设置AWSCognitoCredentialsProvider,该类是我根据AWS文档实现getToken和logins方法的类.
>然后我通过logins方法中的“return AWSTask([”providerName:“id_token”]语句将令牌从步骤5传递到Cognito.

经过大量的反复尝试后,我已经设法完成了大部分障碍,但是我现在从AWS获得了令牌验证错误,具体来说:

谷歌搜索错误确实不会产生大量的结果,但从我可以看出,应用程序中的事件序列是正确的,但AWS在与Azure通信时抱怨令牌的验证.

AWS中没有很多可以配置身份提供程序的内容,例如机密,范围或任何内容,因此我不确定在哪里查看.

我希望对于经验丰富的OpenID专业人员来说,这个错误信息对我来说意味着更多.

我不确定的一些事情可能是相关的.
1. Azure B2C在我目前没有使用的应用程序下有@L_607_1@“Keys”的概念,因为我无法在我的实现中指定各种键.
2. MSALPublicClientApplication.init方法返回@L_607_1@应用程序实例,然后我用它来调用application.acquireToken(forScopes:kScopes).我不知道要为scopes值添加什么,因为根据我的阅读,我只需要“openid”和“offline_access”,但是当我尝试指定那些时,我得到@L_607_1@错误,它已经认包含在内并且我可以在我的API调用中指定它们.但是,我不允许将此字段留空,所以目前我有Azure B2C应用程序ID(以GUID的形式),我不确定是否正确.

非常感谢您的帮助!

解决方法

您的设置看起来正确.不确定MSAL库但是直接从Azure B2C控制台进行测试时,根据您是否在授权URl中提到了您的登录策略(使用’p’参数),您会得到不同的令牌.没有这个参数的那个可以工作但是带有它的那个没有.与OIDC Discovery的工作方式及其在AWS IAM控制台中的配置方式有关.

大佬总结

以上是大佬教程为你收集整理的Azure B2C与AWS Cognito联合身份的集成全部内容,希望文章能够帮你解决Azure B2C与AWS Cognito联合身份的集成所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。