我正在使用angularJs,aspnet和thinktecture创建单页面应用程序。我已经在thinktecture中创建了一个登录屏幕(作为localhost:44304)以供客户登录,并且在成功登录后,它会重定向到客户门户网站,如https://localhost:44302。
当我运行客户应用程序时,它会重定向到thinktecture登录屏幕,登录成功后,它会回到客户门户网站。
现在的问题是,任何客户都可以使用放置在客户门户网站上的注册页面来注册请求,我们正在从thinktecture登录屏幕重定向它,如图所示
当我点击“此处”链接时,再次重定向我同一个登录屏幕。
我在startup.cs中添加了以下代码,供客户使用。
System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(“en-us”);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies"
});
string thinkTectureUrl = ConfigurationManager.AppSettings["ThinkTectureUrl"].ToString();
string loginSuccessUrl = ConfigurationManager.AppSettings["LoginSuccessUrl"].ToString();
string clientSecret = ConfigurationManager.AppSettings["ClientSecret"].ToString();
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions()
{
ClientId = "Provista.CustomerPortal.WebApp.External",
Authority = thinkTectureUrl,
RedirectUri = loginSuccessUrl,
ResponseType = "id_token",
Scope = "openid email",
SignInAsAuthenticationType = "Cookies",
ClientSecret = clientSecret.Sha256()
});
我在谷歌和stackoverflow上搜索了很多,但没有得到一个可靠的链接,帮助我解决这个问题。 如果有任何想法,请尽快回复。
答案 0 :(得分:0)
您可能拥有全局授权过滤器,可将未经身份验证的用户重定向到身份服务器。可能在Global.asax
filters.Add(new System.Web.Mvc.AuthorizeAttribute());
请求您注册用户控制器'也将由此过滤器处理并重定向到身份服务器。
要覆盖全局过滤器并允许未经身份验证的用户使用注册用户控制器,请使用“注册用户控制器”中的 [AllowAnonymous] 属性。