php - 如何使用 Laravel Passport 为密码授予客户端创建 token ?

标签 php laravel oauth laravel-passport

我正在构建 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/

相关文章:

php - 在 Laravel 中按数据透视表 created_at 排序

laravel - 如何使用 Eloquent 删除表中的所有行?

javascript - Angularjs oauth 错误 : Failed to execute 'setRequestHeader' on 'XMLHttpRequest' : 'Authorization: Bearer ' is not a valid HTTP header field name

php - 无需用户交互的 oAuth

php - 我想在 Iframe Javascript PHP 的帮助下将单个 ajax uploader 脚本插入多个 uploader

javascript - vue v-for 图像未显示。相反,它显示字符串

php - 错误 : Entities passed to the choice field must be managed

php - Laravel 5.3 - jquery ajax(内部服务器错误 500)

php - 更新 ereg 调用以使用 preg_match 时出错

java - 为什么spring-security-oauth oauth 2.0实现中需要scope参数