ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用 ASP.NET Core 的交互式应用程序

2021-11-10 18:04:27  阅读:186  来源: 互联网

标签:Core ASP OpenID 应用程序 MVC Connect NET src options


# 使用Asp.net Core的交互式应用程序

> OIDC:OpenID Connect协议

OpenID Connect是基于OAuth 2.0规范族的可互操作的身份验证协议。它使用简单的Rest/JSON消息流来实现,和之前任何一种身份认证协议相比开发者可以轻松集成。

OpenID Connect允许开发者验证跨网站和应用的用户,而无需拥有和管理密码文件。OIDC允许所有类型的客户,包括基于浏览器的JavaScript和本机移动应用程序,启动登录流程和接收可验证断言对登录用户的身份。

# 添加用户界面

.NET CLI(从`src/IdentityServer`文件夹内运行)

```bash
dotnet new is4ui
```

`startup.cs`您会发现`ConfigureServices`和`Configure`方法中的注释告诉您如何启用 MVC

启动项目后,看到如下页面

![image-20211110152456988](C:%5CUsers%5Cuton%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20211110152456988.png)

## 创建MVC客户端

从 src 文件夹运行:

~~~ bash
dotnet new mvc -n MvcClient
cd ..
dotnet sln add .\src\MvcClient\MvcClient.csproj
~~~

> 我们建议通过 IIS Express 使用自托管选项。其余文档假设您在端口 5002 上使用自托管。

要向 MVC 应用程序添加对 OpenID Connect 身份验证的支持,您首先需要将包含 OpenID Connect 处理程序的 nuget 包添加到您的项目中,例如:

~~~ bash
dotnet add package Microsoft.AspNetCore.Authentication.OpenIdConnect -v 3.1
~~~

添加以下内容`ConfigureServices`中`Startup`

~~~ c#
using System.IdentityModel.Tokens.Jwt;

// ...

JwtSecurityTokenHandler.DefaultMapInboundClaims = false;

services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.Authority = "https://localhost:5001";

options.ClientId = "mvc";
options.ClientSecret = "secret";
options.ResponseType = "code";

options.SaveTokens = true;
});
~~~

 

标签:Core,ASP,OpenID,应用程序,MVC,Connect,NET,src,options
来源: https://www.cnblogs.com/ccmonsor/p/15534585.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有