前端的Google Oauth2流-后端的API调用

k10s72fa  于 2023-08-02  发布在  Go
关注(0)|答案(1)|浏览(128)

我有一个前端应用程序(目前正在重新配置,将来会重新配置),我希望在其中使用Oauth2流。
我想在后台做的API请求。此用例的最佳实践是什么?
python needs a credential object中的google客户端可以示例化,例如像这样:

credentials = Credentials(
        token=token,
        refresh_token=refresh_token,
        token_uri="https://www.googleapis.com/oauth2/v3/token", 
        client_id=client_id,
        client_secret=client_secret,
    )

字符串
tokenrefresh_token从前端发送到后端,以便在后端进行后续的API调用,这是一个好的做法吗?

nr9pn0ug

nr9pn0ug1#

理论上,不。但是,“我可以在这里存储我的凭据并将其发送到那里”问题的核心在于“这里”是公共客户端还是机密客户端。
安全Maven会告诉你“永远不要相信互联网”,所以从互联网上下载的程序总是一个公共客户端。但是,如果您的前端在内部网络(通常是您的公司)中受到很好的保护,并使用安全协议(命名为HTTPS)下载到您的浏览器,甚至只能在内部网络中访问,那么它就不是“互联网”。
话虽如此,最佳实践仍然是将凭据存储在后端。BFF(Backend For Frontend)模式可以用来实现这一点,请参阅:
https://curity.io/resources/learn/the-token-handler-pattern/
https://datatracker.ietf.org/doc/html/draft-ietf-oauth-browser-based-apps#name-backend-for-frontend-bff-pr
https://datatracker.ietf.org/doc/html/draft-bertocci-oauth2-tmi-bff-01

相关问题