如何将登录用户链接到Okta中的Facebook身份提供商

时间:2016-12-01 16:38:57

标签: asp.net facebook jwt okta okta-api

我目前正在开展一个项目,我们希望将Facebook个人资料连接到现有(和已登录)的Okta用户。

该网站使用Sitecore 6.5在ASP.NET中制作。

我们使用"授权网址"使用重定向标注进行登录和帐户关联。

当用户未在Okta登录时,我可以在facebook身份提供商处注册并创建一个帐户。在这种情况下,它遵循Callout重定向,我们得到tx_id。当您登录Okta并且访问相同的" Athorize URL"它跟在redirect_uri后面,结果是id_token。这是一个JWT字符串,我设法解码(example result)

如何使用JWT中的信息将用户链接到身份提供商?或者还有另一种方法吗?我无法找到任何方法或API调用,无需tx_id即可将用户添加到身份提供商。

1 个答案:

答案 0 :(得分:2)

我相信您使用https://developer.okta.com/docs/api/resources/social_authentication.html为用户添加了FB社交身份验证。是的,一旦你浏览了最终的网址

https://example.okta.com/oauth2/v1/authorize?idp=0oa0bcde12fghiJkl3m4&client_id=AbcDE0fGHI1jk2LM34no&scope=openid%20email%20profile&response_type=id_token&response_mode=fragment&state=someState&nonce=someNonce&redirect_uri=https://app.example.com/social_auth

您将被重定向到您的应用https://app.example.com/social_auth,并在网址中添加了ID令牌。在重定向的应用程序中,您可以为用户读取,解码和创建会话。但是,在Okta中也会创建相同的用户配置文件。

在Okta中创建社交认证用户配置文件后,您可以使用它来下次获取ID令牌。