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

2021/11/10 22:15:14

本文主要是介绍使用 ASP.NET Core 的交互式应用程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

# 使用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;
});
~~~

 



这篇关于使用 ASP.NET Core 的交互式应用程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程