我是使用wso2身份服务器的新手。
我的问题是:
第一步:我使用的是travelocity.com应用程序。
第2步:我为Gmail和Facebook创建了两个身份提供商。
第3步:然后我创建了一个服务提供商。
在服务提供商中选择“本地和出站身份验证配置”。
在“身份验证类型”中,选择“高级配置”并映射“本地身份验证器”和“联合身份验证器”。
在Local Authenticators中,我选择“basic”。
在“联合身份验证器”中,我选择了“FacebookIDP”和“GmailIDP”。
第4步:但是在从“Facebook”或“Gmail”进行身份验证后,我必须通过Facebook或Gmail检查我从哪个身份提供商登录了travelocity.com。
因此,我需要他们的域名或其他任何标识我是登录travelocity.com的Facebook帐户或Gmail帐户的内容。
验证后,如果身份提供商(Facebook和Gmail)具有相同的电子邮件ID,我将如何找到我从哪个域进行身份验证。因为使用该域我将检查我的数据库是否我可以获得此域以进行身份验证。
那么如何使用wso2身份服务器从Focebook或Gmail帐户进行身份验证后获取域名?
check始终从服务提供商 - >本地和出站身份验证配置1发回经过身份验证的身份提供商列表。通过上面的检查,您将获得AuthenticatedIdPs参数中作为JWT的经过身份验证的idps列表。您可以使用https://jwt.io/对其进行解码。看看下面的样本。另外看看[2]。
{“iss”:“wso2”,“exp”:15526220351213000,“iat”:1552622035121,“idps”:[{“idp”:“LOCAL”,“authenticator”:“BasicAuthenticator”}]}
1 https://docs.wso2.com/display/IS570/Configuring+Local+and+Outbound+Authentication+for+a+Service+Provider