小编Ema*_*uel的帖子

使用ASP.NET Core 2.2和OIDC未授权用户时,自动重定向到外部授权

我正在尝试通过OpenID Connect协议(特别是-KeyCloak,使用外部授权服务器)来保护我的ASP.NET MVC Web应用程序,这一点并不重要。
我要查找的所有示例基本上都是安装Microsoft.AspNetCore.Authentication.OpenIdConnectnuget软件包并向Startup类添加一些配置代码:

services
    .AddAuthentication()
    .AddOpenIdConnect(options =>
    {
        options.Authority = authUrl;
        options.ClientId = clientId;
        options.ClientSecret = clientSecret;
        options.ResponseType = OpenIdConnectResponseType.Code;
    });  
Run Code Online (Sandbox Code Playgroud)

然后,如果我[Authorized]向控制器操作添加属性,则当我尝试打开页面时,将重定向到/Identity/Account/Login系统页面,该部分在该部分Use another service to log in.显示OpenIdConnect用于通过远程身份验证服务器登录的按钮。

此按钮有效-重定向到授权服务器,并在成功登录后打开/Identity/Account/ExternalLogin并显示一个建议,用于填写丢失的用户本地注册声明(尤其是电子邮件)。
实际上,当然,地址/signin-oidc是最先打开的,我相信该处理程序将根据接收到的授权码完成身份验证过程。

但是,除OpenIDConnect外,我不需要任何其他授权方法。我需要未经授权的用户立即将其重定向到远程授权服务器。

如何防止其他登录方法并直接重定向到授权服务器,而不重定向到ASP.NET登录页面?

c# openid-connect asp.net-core

5
推荐指数
1
解决办法
944
查看次数

标签 统计

asp.net-core ×1

c# ×1

openid-connect ×1