java验证护照_“用户”微服务 - 使用护照

我正在开发一个用于用户管理的微服务,它将被以下方式使用:

其他微服务

一个SPA应用程序

本机应用

它需要:

验证用户

授权用户

管理oauth令牌

管理注册/登录/注销/重置密码/忘记密码

它将是一个纯REST API(没有形式) .

到目前为止,我有:

安装/配置了Laravel护照和Passport :: Routes()

配置了密码授予客户端

这两个组合允许我点击 oauth/token endpoints 以获得有效的JWT令牌,并使用它成功地通过"auth:api"认证调用 api/user .

对于我的下一个技巧,我需要配置上面的所有用户管理 endpoints (注册/忘记密码/等),我试图找出最好的方法来做到这一点 . 我试图避免使用第三方mod的Laravel(dingo,esbenp / larapi等),除非我必须这样做 .

这意味着需要实现 Auth::routes() 和 Passport::routes() . Passport::routes() 似乎完全没问题 . 但 Auth::routes() 不是为REST API设计的 .

我现在的想法是,在不重新发明轮子的情况下实现标准用户管理功能的最佳方法是重新实现 App\Http\Controllers\Auth 命名空间中控制器所消耗的特性 . 这些是:

Illuminate \ Foundation \ Auth \ AuthenticatesUsers

Illuminate \ Foundation \ Auth \ RedirectsUsers

Illuminate \ Foundation \ Auth \ RegistersUsers

Illuminate \ Foundation \ Auth \ ResetsPasswords

Illuminate \ Foundation \ Auth \ ThrottlesLogins

Illuminate \ Foundation \ Auth \ SendsPasswordResetEmails

而且由于php traits的工作方式,这可以有选择地完成,只需重新实现必要的功能,如下所示:

class ForgotPasswordController extends Controller

{

use SendsPasswordResetEmails, MySendsPasswordResetEmails

{

// REPLACE THE HTML FORM WITH A JSON PLACEHOLDER

MySendsPasswordResetEmails::showLinkRequestForm insteadof SendsPasswordResetEmails;

// REPLACE THE HTML RESPONSE WITH A JSON RESPONSE

MySendsPasswordResetEmails::sendResetLinkResponse insteadof SendsPasswordResetEmails;

}

}

它仍然完全可怕,但它似乎是避免重复代码的最佳方法 . 我想知道:

这是一个好主意

如果有人对如何做到这一点有任何建议

如果有任何关于修改auth特征的文档

理想情况下,如果有人以前做过吗?

tbh,我甚至没有开始考虑授权部分,但我认为这将在认证之上 .

谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值