当前位置: 首页 > 知识库问答 >
问题:

使用laravel passport从api路由注册新用户

公良凯
2023-03-14

我已经安装laravel 5.3和护照包。我按照文档一步一步地我可以使用以下路由POST /oauth/token具有以下参数

  1. 用户名

我得到以下回应

{
  "token_type": "Bearer",
  "expires_in": 31536000,
  "access_token": "access token here",
  "refresh_token": "refresh token here"
}

然后我请求GET /api/user

标题如下

  1. 授权=这里的承载访问令牌
  2. 接受=申请/json(可选)

这是很好的工作,所以所有的API。

我遇到的问题是,我在第一个请求中授权并输入用户名和密码并将访问令牌返回给我的用户是我从laravel web view/register创建的用户

如何从api路由文件创建新用户或注册新用户

喜欢POST /api/register

用户需要在第一次注册后进行认证。

我应该在没有oauth注册的情况下创建此路由吗?如果注册成功,他会请求POST/oauth/token进行身份验证还是什么?我错过了什么吗??

更新clent_secret在所有用户请求中保持不变是正确的还是每个用户都应该有不同的clent_secret,如果需要验证用户,如何创建aclent secret?

共有2个答案

王君墨
2023-03-14

做到这一点的最快方法是添加一个异常到您的valfyCsrfToken.php类

protected $except = [
        'register'
    ];

然后,您可以发布到您的注册模型,然后使用oauth/令牌访问此帐户。

魏澄邈
2023-03-14

如果我正确理解你的问题,你想注册新用户,并在注册后从/oauth/Token获得令牌。为此,您可以使用代理。我使用了类似的东西,我遵循了以下步骤。这适用于登录和注册

>

public function register(RegisterRequest $request)
{
    $user = User::create($request->all());

    $response = $this->authenticationProxy->attemptLogin($request->email, $request->password);
    return response()->json(compact('response', 'user'), 201);
}

然后在代理类中,调用/oauth/token

public function attemptLogin($email, $password)
{
    $http = new GuzzleHttp\Client;

    $response = $http->post('http://your-app.com/oauth/token', [
        'form_params' => [
            'grant_type' => 'password',
            'client_id' => env('CLIENT_ID'),
            'client_secret' => env('CLIENT_SECRET'),
            'username' => $email,
            'password' => $password,
            'scope' => '',
        ],
    ]);

    return json_decode((string) $response->getBody(), true); 
}

希望这有帮助。您也可以使用类似的方法进行登录。

 类似资料:
  • 路由是 Blade 中的核心,路由是一个 Http 请求处理的最小的最小单元,我们需要在程序中创建好 URL 和路由的映射关系。 在Blade中注册一个路由有2种方式,在下面我们详细讲解。 路由规则 在 Blade 的路由规则不是特别复杂,我们追求简洁与优雅,不希望把事情做的更麻烦。 所以路由规则分为这么几种: 静态路由 资源文件路由 Restful路由 静态路由是最容易理解的,也就是我写了 /h

  • 我试图为我的网络应用程序建立一个登录系统,但我无法让Passport工作。该应用程序是作为REST API构建的,因此用户应该能够使用电子邮件和密码注册,之后他们应该能够使用这些凭据登录(所以我认为他们需要在登录凭据时从Passport接收访问令牌是正确的)。 我想我可以只向“注册”路径发送一个JSON帖子来注册一个新用户,然后向“登录”路径发送一个帖子来将访问令牌返回到客户端,但据我所知,没有这

  • 本文向大家介绍nodejs中实现用户注册路由功能,包括了nodejs中实现用户注册路由功能的使用技巧和注意事项,需要的朋友参考一下  经过前面几次的学习,已经可以做下小功能,今天要实现的是用户注册路由。 一、users_model.js  功能:定义用户对象模型 二、users_controller.js  功能:为Express服务器实现用户注册的路由 三、signup.html 用户注册页面

  • 我有一个用例,我想将a作为JSON到我的服务,然后服务应该注册一个新用户(使用给定的和自动生成的密码)。 数据 我正在使用,我面临的问题是: 每当我尝试HTTP 用户名时,服务已经要求身份验证(用户名和密码)。这不是我想要的原因。我希望注册 API 是完全公开的。这意味着每个人(未经授权)都可以一个新的用户名,从而“打开帐户”。 我不确定我怎样才能达到想要的行为。服务的一部分应该是公共的(就像上面

  • 我正在建立一个注册页,当我提交时,我得到一个404没有找到。我正在使用react和express,我认为前端是好的。我缺少了一些后端,或者我的post请求的url错误:AXIOS.post('http://localhost:3000/auth'。如果有人能看到我的错误之处,我将不胜感激。 这是我的路由的registerPost函数。 这些是路线。

  • 问题内容: 我想为一个wordpress网站创建移动应用。我已经集成了wordpress json插件 。我不确定在哪里可以找到用于用户注册和登录的服务。请指教。 问题答案: 要注册用户,这将通过仅调用url并使用GET Method 向其中添加数据的方式,向您确切显示如何在数据库中注册一个用户。现在,通过移动应用程序执行此操作,您只需向包含用户所需的所有数据的URL发出http请求即可。这将向您