我正在构建 API 并使用 Laravel Passport 进行身份验证。
API 用于我们的移动应用程序,因此我们使用密码授予客户端。
一切正常,用户可以登录以获取访问 token 。我们创建了一个注册端点,允许用户注册。此时我们也需要 API 返回访问 token 。
查看文档,无法以编程方式创建访问 token 。
如何在我的 Controller 中为密码授予客户端创建访问 token ?我显然不想向我自己的 API 发出 HTTP 请求来获取它。
我知道我可以使用个人访问授权客户端并在用户模型上调用 createToken
,但这意味着访问 token 与不同的客户端相关联。这对我来说似乎不对。
最佳答案
尝试这样的事情
class UserController extends Controller
{
protected function login(Request $request)
{
$request->request->add([
'grant_type' => 'password',
'client_id' => '3',
'client_secret' => '6BHCRpB4tpXnQvC1DmpT7CXCSz7ukdw7IeZofiKn',
'scope' => '*'
]);
// forward the request to the oauth token request endpoint
$tokenRequest = Request::create('/oauth/token','post');
return Route::dispatch($tokenRequest);
}
}
关于php - 如何使用 Laravel Passport 为密码授予客户端创建 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45010982/