有关 OAuth Client Credentials 授权方式的疑问
我不知道这算不算是伪需求。
情况是这样的
我有一个Server A,现在有个第三方Server B
现在A 提供了OAuth认证(Client Credentials)
这样B就可以跟A进行通讯。
但是有个问题,因为使用的不是Auth Code 方式。
服务端验证是无法使用 auth:api中间件的。
使用的是\Laravel\Passport\Http\Middleware\CheckClientCredentials
如此一来,Server A就不知道是哪个客户端进行的通讯。
我目前的做法是
$tokenRepository = new TokenRepository();
$jwt = (new Parser())->parse(Request::bearerToken());
$token= $tokenRepository->find($jwt->getClaim('jti'));
从Token里把Client ID取出来,自己去数据库oauth_clients表里检索相关记录。
取出来user_id。
但是不知道有什么正统点做法么???
PS:Auth Code方式,在此场景并不适用。
推荐文章: