ASP.NET MVC中的“Generic”OpenID 5

我在ASP.NET MVC 5中使用了新的身份验证功能(以前使用过DotNetopenAuth).

我知道内置的Google提供商使用OpenID [1](它的工作正常),但我想在验证时使用我自己的OpenID提供程序.

不幸的是,我无法通过ASP.NET MVC 5的开箱即用功能找到一个简单的方法来完成此工作.我浏览了Microsoft.Owin.Security.Google的源代码,并且基于这一点很可能添加一个新的OpenID提供程序.

ASP.NET MVC 5应用程序中添加一个新的OpenID提供程序是否容易(也许已经内置)?还是从头开始写一个(一个新的Owin中间件)?

[1] http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
[2] http://www.symbolsource.org/MyGet/Metadata/aspnetwebstacknightly/Project/Microsoft.Owin.Security.Google/2.0.1-rtw1-20924-641-dev/Release/.NETFramework,Version=v4.5/Microsoft.Owin.Security.Google

解决方法

我处于同样的境地,我认为答案是“不”.

关键类是实现OWIN后端处理程序的Microsoft.Owin.Security.Google.GoogleAuthenticationHandler.在AuthenticateCoreAsync中将硬件编码到https://www.google.com/accounts/o8/ud,并在ApplyResponseChallengeAsync中对Attribute eXchange请求进行硬编码.如果有一个更好的方法(即OpenID基类),我假设他们肯定会使用它,而不是硬编码这两个点.我假设微软由于时间表原因或被认为缺乏需求而没有通用.

我认为一个开源的通用OpenID OWIN中间件将是一个很棒的NuGet包.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....