对于我现在正在做的事情有什么看法,在这种情况下你认为哪种更好。
现在我正在使用Azure ACS构建登录,我想知道哪个更好。
选项1 当用户单击他们想要使用的登录时,它将打开一个弹出窗口,然后他们就可以登录。但是我无法关闭那个弹出窗口。一旦他们登录,我希望关闭弹出窗口并从他们所在的选项卡重定向到另一个页面,但我不确定ACS是否可以实现。
选项2 有页面重定向但是让用户远离网站,这是我真的不想做的事情。
有没有办法让选项1 以我希望它与Azure ACS一起工作的方式工作? 如:
这是我正在使用的js。
$(function () {
$(".signup a").click(function () {
var sizes = ["width=850,height=500"];
var url = $(this).attr("class");
var name = "popUp";
var size = sizes[0];
window.open(url, name, size);
});
});
答案 0 :(得分:2)
在ACS依赖方配置中,您有“返回URL”配置。此URL是ACS将发布您的安全令牌的URL。或者换句话说,一旦用户使用身份提供者登录,最终的重定向位置。
因此,您需要做的是将返回网址设置为:https://mysite/loggedin
在登录页面/视图中重新加载打开此页面的页面并关闭此页面:
$(function() {
window.opener.location.reload();
self.close();
});
一旦ACS重定向到您的站点,WSFam将通过WSSam创建WS Fed会话cookie,一旦您重新加载您的opener页面,您的页面将加载WS Fed cookie,这意味着您将拥有登录用户。 / p>