当前位置: 首页 > 面试题库 >

nodejs护照认证令牌

祁绪
2023-03-14
问题内容

我正在编写一个想同时用作Web应用程序和API提供程序的nodejs应用程序。验证用户身份后,我想为该用户分配一个令牌,以用于后续请求。这对于Web应用程序的通行证非常有用,因为我只是在会话中使用令牌对用户进行序列化和反序列化。但是,在响应API请求时,没有用于设置存储会话信息的cookie。理想情况下,护照将在会话和请求正文中都寻找令牌。有什么方法可以配置通行证来完成此任务吗?


问题答案:

只需对每个请求使用访问令牌。不需要使用会话。以下是工作流程:

POST /signin
  1. 用户名和密码发布在客户端请求中。
  2. 服务器通过使用护照的本地策略对用户进行身份验证。请参阅本地护照。
  3. 如果凭据表示有效用户,则服务器返回由某些生成器生成的访问令牌。node-jwt-simple是一个不错的选择。
  4. 如果凭据无效,请重定向到/signin

当客户端从授权服务器接收访问令牌时,客户端可以向服务器上的受保护资源发出请求。例如:

GET /api/v1/somefunction?token='abcedf'

  1. 客户端使用token参数调用某些服务器api。
  2. 服务器使用护照的承载策略对令牌进行身份验证。请参阅passport-http-bearer。


 类似资料:
  • 早些时候,当我使用Laravel5.2时,我使用了第三方软件包https://github.com/tymondesigns/jwt-auth/用于进行基于JWT的身份验证。我们只需要传递用户名和密码就可以获得令牌。 现在在laravel 5.3中,随着passport的引入,我想进行基于JWT的身份验证,但passport要求我指定客户端id和客户端密码以及用户名和密码。这在tymondesig

  • 我正在使用Laravel passport进行API身份验证,当我将其与一个DB一起使用时,它可以完美地工作,但当使用多个数据库时,它会给出, 我正在做的事情: > 我有一个多租户数据库,主数据库有用户、角色和所有OAuth表。 当我创建一个具有管理员角色的用户时,它将创建具有管理员名称的新数据库,它将创建包含用户、角色和所有OAuth表的子数据库。的子数据库将从主数据库复制密码授予令牌和个人访问

  • 我正在开发标准的LaravelRESTAPI。我正在关注Laravel5.4API认证(Passport)文档。 我需要的是,用户应该通过API登录并获得不会过期的访问令牌。 表具有列。默认值为一年。我把expires_at日期改成了昨天。但它仍然有效。我搜索关于Laravel Passport令牌寿命。有人说过期日期没有根据任何要求进行检查。 是真的吗?如果是真的,那么列的目的是什么?有人能解释

  • 我的客户机有一个GraphQL API运行在Google cloud Run上。 我已经使用了一个服务帐户进行身份验证,并访问了gcloud命令行工具。 当使用gcloud命令行时,如下所示: 我可以生成一个令牌,用于向API发出post请求。这工作,我可以成功地从邮递员,失眠和从我的nodejs应用程序的api发布请求。 这将输出一个“承载”令牌: 但是,这个承载令牌并不像上面的那样工作,并且在

  • 最后,我实现了UserDetailsService接口

  • 我使用Laravel 5.4 Passport作为个人代币。我正在尝试使用Postman向/api/user发送GET请求。我通过向/oauth/personal access令牌发送get请求来获取令牌。从这个响应中,我获取了我认为是令牌的内容,然后我在Postman中设置了一个GET请求,就像文档中说的添加Accept一样= 登录后,我去http://192.168.10.15/oauth/p