Asp.net web api Web Api 2 OData端点中的简单Web令牌(SWT)身份验证
好的,情况是这样的 我们已经有了一个现有的ASP.NET MVC 5站点,该站点具有自定义表单身份验证、登录、注册等功能,并且已经实现了角色和配置文件的自定义数据库 我们现在正在向MVC站点添加一些新功能,并决定使用位于另一个域中的Web Api 2 OData 3端点。Web Api目前不包括任何身份验证,但我们需要能够将请求映射到某个用户,以便从后端获取他的角色等。MVC和API站点使用相同的后端 我们希望实现的是,当用户登录到MVC站点时,MVC站点使用用户的凭据调用Web Api服务器到服务器,并接收一个令牌,然后客户端可以使用该令牌调用Web服务 当API接收到带有令牌的请求时,它可以将请求映射到后端的用户并进行授权 据我所知,简单网络令牌(SWT)可以解决这个问题。但考虑到环境,.NET 4.5.1/Web Api 2/OData 3在Azure Web角色中具有实体框架,我开始思考这是我真正应该使用的SWT,还是最近发布的任何新技术可以轻松解决这一问题。如果.NET堆栈已经包含类似的内容,我不想向项目中添加任何不必要的第三方依赖项 那么,在不向项目添加不必要的依赖项的情况下完成此类身份验证的最简单方法是什么呢。Asp.net web api Web Api 2 OData端点中的简单Web令牌(SWT)身份验证,asp.net-web-api,odata,Asp.net Web Api,Odata,好的,情况是这样的 我们已经有了一个现有的ASP.NET MVC 5站点,该站点具有自定义表单身份验证、登录、注册等功能,并且已经实现了角色和配置文件的自定义数据库 我们现在正在向MVC站点添加一些新功能,并决定使用位于另一个域中的Web Api 2 OData 3端点。Web Api目前不包括任何身份验证,但我们需要能够将请求映射到某个用户,以便从后端获取他的角色等。MVC和API站点使用相同的后端 我们希望实现的是,当用户登录到MVC站点时,MVC站点使用用户的凭据调用Web Api服务器到
我们正在寻找的解决方案只是暂时的,同时我们重新设计了身份验证方案。因此,我们正在寻找一种非常简单的实现方法,这种方法可以在以后需要删除的依赖项最少的情况下工作。我正在我目前正在进行的一个项目中使用它。我使用Web API 2.0附带的OAuth 2.0 OWIN中间件组件(如果您添加一个启用了身份验证的新Web API项目,它包括基本基础设施) 您将使用OAuth 2.0规范中定义的资源所有者密码流。基本上,您从Web API OWIN中间件请求令牌发送:
- 客户端id-标识您的MVC端点
- client_secret-MVC端点的标识符
- 用户名
- 密码
作为包装,我考虑使用JSON Web令牌(JWTS),因为有一个OWIN库可用于生成和解析这些。这里的用例是您进行身份验证,获取JWT,然后使用JWT获取OAuth 2.0承载令牌。如果您想将身份验证转移到其他地方,或者想在MVC端获取有关用户的其他信息,JWT非常有用
谢谢。我决定和JWT一起去。因为你提到的原因。