我有一个网站配置为使用Azure ACS。当用户在本网站上签名时,当他访问我的另一个网站时,我将如何获得用户身份,以便用户无需在ACS中选择并登录他的身份提供者?有没有办法从多个网站获取ACS的用户身份,以便一旦用户登录到我的某个网站,当他访问其他ACS配置的网站时,他将被识别为登录用户? BTW Im使用Azure ACS中的所有4个社交网站作为身份提供者。如何使用ACS登录另一个网站后在网站上登录用户身份
1
A
回答
1
每个网站都不同于ACS的角度,所以它会发布的令牌也不同。然而SSO,发生在国内流离失所者级别:
- 用户登录在与谷歌(作为一个例子)网站上的1
- 用户进入网站2,(用相同的浏览器实例),WEBSITE2重定向到ACS, ACS重定向到谷歌
- 用户已经与谷歌认证,回来ACS
- ACS发出令牌(用于WEBSITE2),并返回到WEBSITE2
ACS不保留会话与用户,以便他们会被迫做th整个交易至少一次。
可能发生的情况是,如果您有4个社交IdP(Google,Live,FB,Yahoo大概),则在步骤2中ACS将提示用户使用IdP。
为避免这种情况,您必须将登录请求发送给ACS,并使用whr参数。你必须记住你的用户使用了哪一个,并指示ACS使用它。用whr,没有IdP提示。
+0
如何在ACS中存在+1时重定向到特定的IdP(即O365)。使用哪个参数? – Jorge 2015-11-05 16:44:41
+1
我不会再推荐使用ACS,因为它已被弃用。 – 2015-11-10 22:56:09
相关问题
- 1. 如何使用openID登录另一个网站的帐户的网站?
- 2. 身份验证和登录2网站
- 3. 网站使用PHP登录
- 4. 使用C登录网站#
- 5. 使用ASIHttpRequest登录网站
- 6. 登录网站使用http.client
- 7. 登录网站使用casperJS
- 8. 使用RSelenium登录网站
- 9. 使用casperjs登录网站
- 10. 使用android登录网站
- 11. 使用python登录网站
- 12. 使用Qt登录网站
- 13. 使用httpulrconnection登录网站
- 14. 使用python登录网站
- 15. 登录网站使用jsoup
- 16. 使用python登录网站
- 17. 使用java登录网站
- 18. 使用casperjs登录网站?
- 19. 从网站登录网站
- 20. Firebase身份验证 - 从网站中的应用登录用户
- 21. 登录网站
- 22. PHP使用cURL登录一个网站
- 23. 第一个网站的用户登录到另一个网站问题
- 24. 使用Microsoft帐户登录网站
- 25. 使用Facebook帐户登录到网站
- 26. 网站在登出后仍然登录
- 27. 如何使用RESTAPI登录网站?
- 28. 如何使用WebClient登录网站?
- 29. Java - 如何使用HtmlUnit登录网站?
- 30. 如何使用LDAP登录网站
有没有现成的方式来实现这一点。但是,由于您控制了所有网站,因此您可以执行某些操作。我试图找出如何把它放在一个单一的答案,但。因为它不像我希望的那样直截了当。 – astaykov 2013-04-29 12:22:11
你能否提供给我相关资源的链接?如果我通过基于声明和基于角色的身份验证实现混合方法,我会走在正确的轨道上吗?我只是让自己的身份提供者充当所有网站的用户存储库,并让网站检查用户是否登录到IP?但我不知道这是否会奏效,或者是否有其他方式。 – AshT 2013-04-29 14:39:30
我能想到的一个愚蠢的做法是,一旦用户通过ACS验证了用户身份,就可以传回给您的网站一些加密的令牌,其中包含用户的身份。每当您从一个站点跳到另一个站点时,绕过此令牌。每当在服务器端发现发送的令牌为空或无效时,假定用户未登录。如果所有网站都在同一个域中,则可以使用cookie轻松传递令牌。没有多少考虑利弊,但似乎合法。 – letsc 2013-05-13 16:10:08