作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的项目中使用 MSAL.net Azure AD 登录。但是当用户已经使用多个 Microsoft 帐户登录一台计算机时,登录时会出现问题。并且在登录应用程序时需要随机帐户。我想限制用户每次点击登录时选择帐户。
Startup.auth.cs 类
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
// Custom middleware initialization. This is activated when the code obtained from a code_grant is present in the querystring (&code=<code>).
app.UseOAuth2CodeRedeemer(
new OAuth2CodeRedeemerOptions
{
ClientId = AuthenticationConfig.ClientId,
ClientSecret = AuthenticationConfig.ClientSecret,
RedirectUri = AuthenticationConfig.RedirectUri
});
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
Authority = AuthenticationConfig.Authority,
ClientId = AuthenticationConfig.ClientId,
RedirectUri = AuthenticationConfig.RedirectUri,
PostLogoutRedirectUri = AuthenticationConfig.PostLogoutUrl,
Scope = AuthenticationConfig.BasicSignInScopes,
TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = false
},
Notifications = new OpenIdConnectAuthenticationNotifications()
{
AuthorizationCodeReceived = OnAuthorizationCodeReceived,
AuthenticationFailed = OnAuthenticationFailed,
},
CookieManager = new SameSiteCookieManager(
new SystemWebCookieManager())
});
}
登录操作代码:-
HttpContext.GetOwinContext().Authentication.Challenge(
new AuthenticationProperties { RedirectUri = "/account/logincallback" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
最佳答案
我找到了解决方案。内RedirectToIdentityProvider
需要通过添加 context.ProtocolMessage.SetParameter(<Name>, <Value>)
来设置额外的参数
Notifications = new OpenIdConnectAuthenticationNotifications()
{
RedirectToIdentityProvider = context =>
{
context.ProtocolMessage.SetParameter("prompt", "login");
return Task.FromResult(0);
},
}
};
关于c# - MSAL.net prompt=select_account/forcelogin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63772199/
我在我的项目中使用 MSAL.net Azure AD 登录。但是当用户已经使用多个 Microsoft 帐户登录一台计算机时,登录时会出现问题。并且在登录应用程序时需要随机帐户。我想限制用户每次点击
我将 Gsuite 用作 Saml IDP,以在内部应用上对我组织的用户进行身份验证。 一切正常,除了一点: 当我的一位用户使用他/她的个人帐户登录时 只有 , 谷歌将失败: 403 Error: a
我是一名优秀的程序员,十分优秀!