基于令牌的身份验证

基于令牌的身份验证

ABPZERO是使用浏览器的cookie来做的身份验证的。
但是,如果你想要使用WebApi和应用层的服务类(他们通过动态webapi请求的,此时这些请求都是暴露在外部的)来访问移动设备。这个时候你就需要基于令牌(Token)的身份验证机制。

ABPZERO是支持token的身份验证的基础结构。
在控制器AccountController中,通过webapi来对身份验证的操作,以获得令牌。我们在下一次的请求中就可以使用获得的令牌信息。

我们使用Postman来模拟登陆过程,postman是一个chrome插件。

身份验证

只是向 http://localhost:6234/api/Account/Authenticate 发送请求,请求类型为json(Context-Type="application/json")
下图所示:

image
我们发送了一个Json请求,正文为:

{
"tenancyName":"default",
"userNameOrEmailAddress":"admin",
"password":"123qwe"

}

其中包括了tenancyName(租户名称)、userNameOrEmailAddress(用户名)、password(密码)。
相应并且返回的result就是令牌。我们可以将其保存,在下一次的请求中使用。

使用 API

我们在上面的身份授权中,得到了令牌,那么我们就可以用它来做该账户权限范围内的任何事情。所有的应用层的服务都是可以通过远程来调用的。
例如,我们可以使用“userservice”来获取用户列表。
image

图上的为一个POST请求,访问路径:http://localhost:6234/api/services/app/user/GetUsers请求类型依旧为json,内容则为Authorization="Bearer 刚刚得到的令牌内容"。请求的正文为{}。
当然请求不同的API返回的响应正文也会不同嘛。

几乎所有的UI层都可以使用webapi来访问,毕竟UI使用相同的webapi嘛。(and can be consumed easily.)

posted @   梁桐铭  阅读(3669)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示