IdentityServer4中OpenID Connect如何添加用户认证


本篇文章为大家展示了IdentityServer4中OpenID Connect如何添加用户认证,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  我们希望使用OpenID Connect这种方式来验证我们的MVC程序(需要有IdentityServer4),我们首先需要干什么呢?那就是搞一个UI,这样非常美观既可以看到我们的身份验证效果,那么IdentityServer官方已经给我们提供了一套UI了,我们从哪里可以获取呢?  可以通过这个地址就行克隆安装到本地并附加到你的MVC程序中,地址。当然我们可以根据PowerShell 进行远程拉取(以下命令在项目根目录进行Code)在Windows中我们的命令如下:或者在macOS或Linux上使用bash one-line:下图所示是我在Windows Powershell中进行远程拉取的。安装完项目中会添加一个Quickstart的这么一个文件夹,其中有IdentityServer给我们写好的代码,有控制器,模型,视图,静态文件等等。当然还需要在Startup类中配置好你的MVC,这需要在ConfigureService里面将MVC添加到DI中并在Configure方法中将MVC中间件添加到管道上。  首先我们通过AddAuthentication将身份验证服务添加到我们的DI中。其中参数有三个,第一个DefaultScheme它呢可以设置我们通过Cookies进行保存登录信息。那么后面是我们的DefaultChallengeScheme,它的参数是oidc,也就是 香港云主机因为当我们需要用户登录时,我们将使用OpenID Connect协议。然后AddCookie,我们使用添加可处理cookie的处理程序。最后,AddOpenIdConnect用于配置执行OpenID Connect协议的处理程序。这Authority表明我们信任IdentityServer。然后我们通过ClientId。识别这个客户。SaveTokens用于在cookie中保留来自IdentityServer的令牌,同时我还关闭了JWT声明映射,这样会让我们的应用程序流畅地通过:JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();。  最后,我们需要让我们的认证请求达到响应,应在管道中的MVC之前添加认证中间件。为了触发验证,我们在HomeController中添加一个特性[Authorize]。还要修改该Action的View以显示用户的信息,例如:如果你现在启动的话,会出现内部错误,因为MVC客户端在认证平台服务器中并没有注册。现在我们回到我们的认证服务中心,在Config.cs中添加如下代码(范围代表您想要保护的内容以及客户想要访问的内容。与OAuth相比,OIDC中的范围不代表API,而是代表用户ID,名称或电子邮件地址等身份数据。)然后,您需要将这些身份资源添加到Startup.cs中的IdentityServer配置中。使用AddInMemoryIdentityResources扩展方法调用AddIdentityServer()。  最后一步是将MVC客户端的配置添加到IdentityServer。基于OpenID Connect的客户端与我们目前添加的OAuth 2.0客户端非常相似。但由于OIDC中的流程始终是交互式的,因此我们需要在配置中添加一些重定向URL。将以下内容添加到您的客户端配置:
就这样我们启动项目,现在启动项目也就没有什么问题了。其中我们用到了IdentityServer的Quickstart,虽说已经写好了很多相关的控制器等等,这个Ui但是还是自己写个好,或者改造!上述内容就是IdentityServer4中OpenID Connect如何添加用户认证,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注开发云行业资讯频道。

相关推荐: 如何将Gate One嵌入我们的Web应用中

本篇文章给大家分享的是有关如何将Ga…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 10/13 17:34
Next 10/13 17:42

相关推荐