如何检测哪个身份提供程序用于登录



我们利用AWS Cognito在我们的产品中执行所有身份验证。用户可以尝试使用其中一个Facebook, Google, Amazon, Microsoft帐户登录。因此,我们需要识别尝试使用哪个Identity Provider或承载令牌登录的user。因此,我们将存储这些信息。有没有什么方法可以让提供商Infos获得类似其suffix的东西,等等?

它将按照我下面提到的方式存储。

AuthByEmail :1,
ByMobile: 0,
AWSIPName: Google,
AWSClientName:client101,
Suffix: Google_client101_jhon@client101.com

感谢

如果请求是使用web身份联合获得的临时安全凭据发出的,则可以在相应的CloudTrail事件的userIdentity中找到一个名为webIdFederationData的元素,该元素列出了有关身份提供者的信息。该元素的属性为:

  • federatedProvider–身份提供者的主体名称(例如,www.amazon.com用于登录亚马逊,accounts.google.com用于谷歌(。

  • attributes–提供商报告的应用程序ID和用户ID(例如,www.amazon.com:app_idwww.amazon.com:user_id用于登录亚马逊(。

您可以在此处了解有关不同情况下CloudTrail userIdentity的结构和内容的更多信息。

最新更新