MVC项目中的Web API(身份验证)

伊姆兰·艾哈迈德·莫哈尔(Imran Ahmad Mughal)

我有ASP.NET MVC项目,并且将表单身份验证(Cookie基础)与ASP.NET标识一起使用。我将WEB API控制器添加到该项目中。现在我想要的是对于MVC项目,它应该使用使用Cookie的表单身份验证,但是对于API,它应该使用令牌库,即如何配置它。

此致,伊姆兰·艾哈迈德(Imran Ahmad)

维维克·辛格(Vivek Singh)

首先安装这些NuGet软件包,

1.安装软件包Microsoft.AspNet.WebApi.Owin

2.安装软件包Microsoft.Owin.Host.SystemWeb

3.安装软件包Microsoft.Owin.Security.OAuth

然后,该项目必须具有StartUp.cs文件。
将此代码添加到您的文件中

    OAuthAuthorizationServerOptions OAuthOptions = new OAuthAuthorizationServerOptions()
    {
        AllowInsecureHttp = true,
        TokenEndpointPath = new PathString("/api/token"),
        AccessTokenExpireTimeSpan = TimeSpan.FromDays(2),                
        Provider = new AuthorizationServerProvider()
    };

    // To Generate token
    app.UseOAuthAuthorizationServer(OAuthOptions);
    app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());

将此代码添加到新的AuthorizationServerProvider.cs文件中

public class AuthorizationServerProvider: OAuthAuthorizationServerProvider
{
     public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
     {
         context.Validated();
     }

     public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
     {
         var identity = new ClaimsIdentity(context.Options.AuthenticationType);
         context.Validated(identity);
     }
}

您可以通过发布到端点来使用Postman API客户端测试代码

yourwebsite/api/token 

以及邮递员标签中的grant_type,用户名和密码
x-www-form-Urlencoded

您将获得一个access_token的响应,并在调用Resource控制器时将此访问令牌放在标头中

有关更多参考,请参阅http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Web API身份验证

来自分类Dev

MVC Web Api身份验证失败

来自分类Dev

如何在基于 cookie 身份验证的 asp.net mvc 项目中向 web api 添加令牌身份验证

来自分类Dev

Web API中的身份验证

来自分类Dev

Web API 2身份验证

来自分类Dev

OWIN身份验证失败-Web API

来自分类Dev

一个项目中的 IdentityServer4 和 Web Api 无法通过身份验证

来自分类Dev

MVC .NET cookie身份验证系统通过令牌身份验证访问Web Api

来自分类Dev

Web API 令牌身份验证与自定义令牌身份验证

来自分类Dev

OpenIddict-在同一项目中托管身份验证服务器和Web API资源

来自分类Dev

设置用于身份验证API的Google项目

来自分类Dev

REST api项目的用户身份验证方法

来自分类Dev

保护Web API Web服务,Windows身份验证

来自分类Dev

保护Web API Web服务,Windows身份验证

来自分类Dev

Web API安全性(身份验证)

来自分类Dev

ASP.NET 5中的Web API身份验证

来自分类Dev

在Web API中使用OAuth进行身份验证

来自分类Dev

移动应用程序Web API身份验证

来自分类Dev

Web API身份验证响应属性

来自分类Dev

Web API 2自定义身份验证

来自分类Dev

网站和设备的Web API服务身份验证

来自分类Dev

Web API 2.1 Windows身份验证CORS Firefox

来自分类Dev

Web API 2,OWIN身份验证,注销未注销

来自分类Dev

对Android应用进行身份验证以调用Web API服务

来自分类Dev

Sitecore-Web Api用户身份验证

来自分类Dev

从Localhost上的Web api删除身份验证

来自分类Dev

使用Web API服务作为中央身份验证点

来自分类Dev

WSO2 IS中的Web API调用身份验证

来自分类Dev

Angular2 + Web API +基于令牌的身份验证