2

我目前正在几个站点上实施 janrain 单点登录。我检查用户是否已经使用以下代码登录:

 JANRAIN.SSO.ENGAGE.check_login({
        sso_server: 'my_sso_server_uri',
        logout_uri: 'my_logout_uri',
        xd_receiver: 'my_xd_uri',
        token_uri: 'my_token_uri'
    });

如果我了解 janrain 文档,如果用户已登录,则应将其重定向到 token_uri。但是这种重定向似乎只在一种情况下有效:

  • start : 用户未登录任何站点
  • 登录站点 A
  • 用户打开站点 B 上的登录页面,他自动重定向到 token_uri
  • 关闭所有浏览器窗口
  • 打开站点 B 上的登录页面:用户未重定向到 token_uri

但在浏览器控制台中,我可以看到用户已正确登录所有站点。

你能帮我解决这个问题吗,如何让用户总是被重定向到 token_uri。

4

1 回答 1

1

您的理解似乎是正确的,该 check_login() 方法应该查看用户是否已登录任何其他联合站点,如果是,则将用户重定向到本地定义的 token_uri。如果您遇到这种情况仅在用户显式导航到站点 B 上的登录页面时才有效,也许 check_login() 代码仅在该页面上?为了使其工作,代码块必须出现在每一页上。

于 2013-05-01T21:18:20.103 回答