【问题标题】:What is the actual use of OAuth2PasswordBearer?OAuth2PasswordBearer 的实际用途是什么?
【发布时间】:2021-07-22 05:15:19
【问题描述】:

我是fastapi 的新手。我试图在其中实现身份验证功能。它为此使用OAuth2PasswordBearer。如果我可以简单地获取用户名和密码作为发布请求并将其与我的数据库匹配,我实际上并不明白这有什么用。请解释一下。

【问题讨论】:

  • 只传递用户名和密码通常不是一个好主意,因此使用具有限制权力的令牌。阅读 OAuth2 here
  • 那么成功登录时生成的用户令牌是否会在整个应用程序中使用?这样它就可以跟踪哪个用户登录了?
  • 不是真的,我建议您阅读我发给您的文档以了解整个系统的工作原理。

标签: python oauth-2.0 fastapi


【解决方案1】:

OAuth2PasswordBearer 是 oauth2.0 授权的依赖项, 当您传递令牌网址时:

oauth2_scheme = OAuth2PasswordBearer(tokenUrl='login')

登录路由将返回一个 JSON 响应,如:

{"access_token": access_token, "token_type":"bearer"}

当你想要保护一个 api 时使用它,这意味着它需要登录,你将放置一个依赖函数,如:get_current_user

这将取决于此 oauth2_scheme,它具有当前登录用户的 access_token,如果它能够通过验证令牌来验证当前登录用户,这意味着使用您的 secrete_key(private) 解码令牌它将允许用户可以在您放置此限制的地方执行进一步的操作,例如:在您的 api 上创建、编辑或删除某些内容。 这是 oauth2.0 授权流程,使用访问令牌。

【讨论】:

    猜你喜欢
    • 2011-04-02
    • 2019-05-17
    • 2015-04-22
    • 1970-01-01
    • 2011-09-20
    • 2015-06-07
    • 1970-01-01
    • 2019-03-03
    相关资源
    最近更新 更多