OAuth2PasswordBearer的实际用途是什么?

ag2*_*yte 4 python oauth-2.0 fastapi

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

小智 9

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

oauth2_scheme = OAuth2PasswordBearer(tokenUrl='login')
Run Code Online (Sandbox Code Playgroud)

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

{"access_token": access_token, "token_type":"bearer"}
Run Code Online (Sandbox Code Playgroud)

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

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