基于 laravel 默认的 auth 实现 api 认证
2019-12-21 00:00
2176 查看
2019PHP高薪工程师学习路线图....>>>
基于 laravel 默认的 auth 实现 api 认证
现在微服务越来越流行了. 很多东西都拆分成独立的系统,各个系统之间没有直接的关系. 这样我们如果做用户认证肯定是统一的做一个独立的 用户认证 系统,而不是每个业务系统都要重新去写一遍用户认证相关的东西. 但是又遇到一个问题了. laravel 默认的auth 认证 是基于数据库做的,如果要微服务架构可怎么做呢?
实现代码如下:
UserProvider 接口:
[code=php;toolbar:false">// 通过唯一标示符获取认证模型 public function retrieveById($identifier); // 通过唯一标示符和 remember token 获取模型 public function retrieveByToken($identifier, $token); // 通过给定的认证模型更新 remember token public function updateRememberToken(Authenticatable $user, $token); // 通过给定的凭证获取用户,比如 email 或用户名等等 public function retrieveByCredentials(array $credentials); // 认证给定的用户和给定的凭证是否符合 public function validateCredentials(Authenticatable $user, array $credentials);
现在微服务越来越流行了. 很多东西都拆分成独立的系统,各个系统之间没有直接的关系. 这样我们如果做用户认证肯定是统一的做一个独立的 用户认证 系统,而不是每个业务系统都要重新去写一遍用户认证相关的东西. 但是又遇到一个问题了. laravel 默认的auth 认证 是基于数据库做的,如果要微服务架构可怎么做呢?
实现代码如下:
UserProvider 接口:
[code=php;toolbar:false">// 通过唯一标示符获取认证模型 public function retrieveById($identifier); // 通过唯一标示符和 remember token 获取模型 public function retrieveByToken($identifier, $token); // 通过给定的认证模型更新 remember token public function updateRememberToken(Authenticatable $user, $token); // 通过给定的凭证获取用户,比如 email 或用户名等等 public function retrieveByCredentials(array $credentials); // 认证给定的用户和给定的凭证是否符合 public function validateCredentials(Authenticatable $user, array $credentials);
Laravel 中默认有两个 user provider : DatabaseUserProvider & EloquentUserProvider.
DatabaseUserProvider
Illuminate\Auth\DatabaseUserProvider
直接通过数据库表来获取认证模型.
EloquentUserProvider
Illuminate\Auth\EloquentUserProvider
通过 eloquent 模型来获取认证模型
根据上面的知识,可以知道要自定义一个认证很简单。
[p]相关文章推荐
- Laravel 5 中使用 JWT(Json Web Token) 实现基于API的用户认证
- 基于 laravel Auth 实现自定义接口 api 用户认证详解
- 基于Laravel Auth自定义接口API用户认证的实现方法
- Laravel5.5中利用Passport实现Auth认证的方法
- Lumen上使用Dingo/Api做API开发时用JWT-Auth做认证的实现
- Laravel5.4简单实现app接口Api Token认证方法
- Laravel 5.3 使用内置的 Auth 组件实现多用户认证功能以及登陆才能访问后台的功能的一种实现方法
- Lumen上使用Dingo/Api做API开发时用JWT-Auth做认证的实现
- Lumen上使用Dingo/Api做API开发时用JWT-Auth做认证的实现
- 基于windows集成身份认证的“注销”和”切换用户“是这么实现的!
- Spring Cloud与微服务学习总结(3)——认证鉴权与API权限控制在微服务架构中的设计与实现(一)
- 如何实现基于AD的MOSS的FORM认证方式
- Java实现基于token认证
- 基于Laravel5.4实现多字段登录功能方法示例
- 认证鉴权与API权限控制在微服务架构中的设计与实现(三)
- Sharepoint 2010 Form 身份认证的实现(基于AD)
- 使用 AngularJS & NodeJS 实现基于 token 的认证应用
- Laravel框架Auth用户认证操作实例分析
- 基于WCF的API实现
- 基于vue v-for 循环复选框-默认勾选第一个的实现方法