webapi 中的本地登录

时间:2023-03-09 02:40:33
webapi 中的本地登录

WebApi 身份验证方式

asp.net WebApi 中有三种身份验证方式

  • 个人用户账户。用户可以在网站注册,也可以使用 google, facebook 等外部服务登录。
  • 工作和学校账户。使用活动目录,Office 365等方式进行身份验证。
  • Windows 身份验证。在局域网中使用。

个人用户账户方式下又又两种登录方式:

  • 本地登录。用户在网站注册,网站保存用户的登录名和密码散列值。登录时,用户提供登录名和密码,网站使用 asp.net identity 系统进行身份验证。
  • 社交登录。使用 google, facebook 等外部服务登录。网站仍然为用户在数据库中创建一个记录,但是不会保存凭据。用户通过登录外部服务进行身份验证。

这两种登录方式的差别在于凭据流,不管采用哪个方式,WebApi 都使用 OAuth2 进行身份验证。

OAuth2 术语

  • Resource(资源)。受保护的数据。
  • Resource Server(资源服务器)。承载资源的服务器。
  • Resouce Owner(资源所有者)。可以授权访问资源的实体,用户是典型的资源所有者。
  • Client(客户端)。访问资源的应用程序。
  • Access token(访问令牌)。允许对资源进行访问的令牌。
  • Bearer token(不记名令牌)。这是访问令牌的一种,客户端不需要对其进行加密钥,不记名令牌应仅在 HTTPS 上使用,并且设置较短的有效时间。
  • Authorization server(授权服务器)。发出令牌的服务器。

实践中,资源访问器和授权访问器可以是同一个应用程序。

本地登录的凭据流程

对于本地登录方式,WebApi 使用 OAuth2 中定义的资源所有者密码授权类型。这种授权类型适用于资源所有者十分信任客户端的情形。

  1. 用户在客户端输入登录名和密码。
  2. 客户端将登录名和密码发送给授权服务器。
  3. 授权服务器对凭据进行验证,返回访问令牌。
  4. 客户端访问受保护的资源时,将令牌放在 HTTP Authorization 请求头中。

aaarticlea/png;base64,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" alt="" />

下图是实现这个流程的具体程序结构

aaarticlea/png;base64,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" alt="" />

在这里,WebApi的控制器是资源服务器。Authentication Filter 对令牌进行验证,Authorization Filter 决定是否授权。授权服务器和 Authentication Filter 通过 OWIN 中间件处理 OAuth2 标准规定的细节。

AccountController 使用 asp.net identity 管理用户数据。相关文件有:

  • \App_Start\IdentityConfig.cs
  • \Controllers\AccountController.cs
  • \Models\IdentityModels.cs
  • \Providers\ApplicationOAuthProvider.cs

配置授权服务器

在 Startup.Auth.cs 文件的 ConfigureAuth 方法中进行配置。

public void ConfigureAuth(IAppBuilder app)
{
// 将数据库上下文和用户管理器配置为对每个请求使用单个实例
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create); // 使应用程序可以使用 Cookie 来存储已登录用户的信息
// 并使用 Cookie 来临时存储有关使用第三方登录提供程序登录的用户的信息
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); // 针对基于 OAuth 的流配置应用程序
PublicClientId = "self";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(),
//在生产模式下设 AllowInsecureHttp = false
AllowInsecureHttp = true
}; // 使应用程序可以使用不记名令牌来验证用户身份
app.UseOAuthBearerTokens(OAuthOptions);
}

使用 TokenEndpointPath 属性配置授权服务器的终结点,应用程序通过这个URL获取不记名令牌。使用 Provider 属性配置接入到 OWIN 中间件的提供程序,用来处理中间件引发的事件。

配置使用不记名令牌

在 WebAppiConfig.Register 方法中配置 WebApi 使用不记名令牌。

public static void Register(HttpConfiguration config)
{
// Web API 配置和服务
// 将 Web API 配置为仅使用不记名令牌身份验证。
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
// Web API 路由
config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}

这里使用 SuppressDefaultHostAuthentication 方法通知 web api 忽略请求进入webapi管道之前的验证,包括 iis 和 owin 中间件。使用 HostAuthenticationFilter 类对不记名令牌进行验证。

获取令牌

获取令牌的基本步骤为:

  1. 程序请求 ~/Token。
  2. OAuth 中间件调用提供程序的 GrantResourceOwnerCredentials 方法。
  3. 提供程序调用 ApplicationUserManager 验证凭据,创建 claims identity。
  4. 如果验证成功,提供程序创建身份验证票(authentication ticket),身份验证票用于生成令牌。

aaarticlea/png;base64,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" alt="" />

OAuth 中间件本身不了解用户账户的任何信息。提供程序用来协调中间件和 ASP.NET Identity。

访问资源

  • HostAuthentication 过滤器调用 OAuth 中间件对令牌进行验证
  • 中间件将令牌转换成 claims identity
  • 此时,请求处于已验证但未授权状态
  • authorization 过滤器检查claims identity。如果 claims 授权用户访问这个资源,则请求通过验证。默认情况下,只要请求已被验证,AuthorizeAttribute 就会授权。但是,你可以通过角色或其他声明进行验证。
  • 如果上述步骤成功,控制器返回受保护的资源。否则,返回 401 错误。

aaarticlea/png;base64,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" alt="" />

原文地址:http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api