2

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

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

我们使用“授权 URL”通过重定向标注进行登录和帐户链接。

当用户未在 Okta 中登录时,我可以向 facebook 身份提供商注册并创建一个帐户。在这种情况下,它遵循标注重定向,我们得到一个tx_id. 当您登录 Okta 并访问相同的“Athorize URL”时,将鼠标悬停在redirect_uri您获得id_token结果的位置之后。这是我设法解码的 JWT 字符串(示例结果)

如何使用 JWT 中的信息将用户链接到身份提供者?还是有其他方法可以做到这一点?如果没有tx_id.

4

1 回答 1

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,并在 url 中使用 id 令牌。在重定向的应用程序中,您可以为用户读取、解码和创建会话。但是,在 Okta 中也会创建相同的用户配置文件。

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

于 2016-12-06T01:40:01.763 回答