我如何授权使用Discord Oauth2.0在Web上进行Firebase身份验证的用户

时间:2019-01-01 02:42:15

标签: firebase firebase-realtime-database oauth firebase-authentication discord

我如何使用Discord的OAUTH Api(https://discordapp.com/developers/docs/topics/oauth2)认证Firebase的用户?

我是这种事物的新手,所以我非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

这是我的推荐:

1.Build Firebase Cloud Function

2。从前端应用程序调用Firebase Cloud Function

3。在Cloud Function中,重定向到Discord并完成oAuth流程

4。oAuth流程完成后,一旦在云功能中收到Discord令牌,请使用Firebase Admin SDK铸造一个新令牌。铸造令牌时,将uid添加为参数之一。此uid可以是Discord在其令牌响应中发送的用户名或用户ID。

5。一旦铸造了Firebase令牌,请将其发送回前端应用程序。

6。从应用程序中,再次调用Firebase SDK以使用SignInCustomToken sdk登录到Firebase并发送由Cloud Function发送的Firebase令牌

7。如果尚未提供上述步骤,则会在Firebase身份验证系统中插入用户记录。

8。使用Firebase id令牌和访问令牌进行与Firebase今后的所有交互。

参考:使用Firebase Admin SDK https://firebase.google.com/docs/auth/admin/create-custom-tokens

创建自定义令牌

您可以跳过有关服务帐户的步骤,因为Firebase Cloud Function提供了必要的包装,无需服务帐户概念即可直接生成自定义令牌。

谢谢

Dinakaran