Google oauth 与 fastapi 用户程序

问题描述 投票:0回答:1

我已经通过 Google OAuth 完成了

fastapi-users==12.0.0
的第一步工作,但一旦我从
access_token
获得
/auth/google/callback
,我不知道如何处理它。

fastapi
日志显示
User <user_id> has registered
,并且每个表中都会添加一个新行(
user
oauth_account
),所以这很好。

到目前为止我已经:

  1. GET /auth/google/authorize
    返回带有
    authorization_url
    的 JSON。
  2. 我导航到
    authorization_url
    并通过
    https://accounts.google.com/signin
    处的提示进行身份验证。
  3. 我被重定向到
    /auth/google/callback?state=<some_token>&scope=<email, profile, user scopes>=0&prompt=consent
    ,其中显示
    {"access_token":<access_token>,"token_type":"bearer"}

我该怎么办

access_token
?要访问专用端点,我是否需要将其包含在以后每个请求的标头中?

对于这个严格的谷歌流程,我是否需要使用任何其他端点(例如。

/auth/jwt/login
/auth/register
/auth/request-verify-token
/auth/verify
)?

我如何通过 swagger 文档完成这个过程?授权表单 (

OAuth2PasswordBearer
) 当前显示
Token URL: auth/jwt/login
Flow: password
)。我根本不需要改变它吗?

python google-oauth fastapi fastapiusers
1个回答
0
投票

我应该如何处理该 access_token?要访问专用端点,我是否需要将其包含在以后每个请求的标头中?

是的。您需要将其包含为授权标头才能访问受保护的资源(需要授权的资源)。

对于这个严格的谷歌流程,我是否需要使用任何其他端点(例如/auth/jwt/login、/auth/register、/auth/request-verify-token、/auth/verify)?

Google Oauth 流程中不使用这些端点。这是使用凭据(即用户名和密码)进行正常登录的情况。端点

/auth/jwt/login/
获取您的凭据并使用 JWT 令牌进行响应,类似于您将从
/auth/google/callback
收到的内容。现在,您需要将此令牌存储在前端客户端或调用端点的任何其他服务中,因为 JWT 不存储在后端服务器中。

© www.soinside.com 2019 - 2024. All rights reserved.