不知道这是否适合这个问题。这不是必需的100%编码问题,但它也不是编码问题。无论如何,这里是如何链接谷歌行动,移动应用程序,后端服务器和Firebase身份验证用户帐户?
故事:我想创建一个购物系统。用户可以使用该网站或移动应用程序或谷歌助手获取产品信息并从该购物系统进行购买。我面临的问题是如何将这3名客户中的用户关联起来。更具体的谷歌助理/行动。
我所做的事情: 使用firebase auth用于身份验证和登录用户到网站或移动应用程序。用户通过身份验证后,可以使用Firebase访问令牌供网站或移动应用使用。网站或移动应用可以将Firebase访问令牌发送到后端服务器,后端服务器可以通过firebase admin sdk验证此访问令牌。一切都按预期工作,直到我想引入google actions/assistant。
对于谷歌助理/操作:我跟着this和this用于将用户登录到谷歌的行动应用程序。此时,如果用户使用其Google帐户登录Google操作应用程序,我可以获取用户基本的个人资料信息。
的问题:
- 后,我得到了用户的个人资料,如用户名,电子邮件等,从谷歌的行动登录,然后我查询在后端服务器上的数据库,如果我找到一个用户使用此ID或电子邮件,那么这是一个有效的和经过身份验证的用户,我将允许用户通过谷歌助手进行购买。 这种方法安全可靠,可以在谷歌行动/助手上识别用户吗?
- 假设上述方法安全可靠,如果用户帐户是使用其他电子邮件帐户而不是谷歌帐户创建的,我该怎么办?即,用户最初使用非谷歌电子邮件或其他Oauth2(fb,twitter等)通过firebase身份验证在网站或移动应用程序上注册。在这种情况下,我的后端数据库不会为用户提供Google帐户信息,并且如果用户使用Google帐户登录到我的Google动作应用程序,我将无法在现有用户数据库中识别此用户。
- 有没有一种方法来验证/通过火力AUTH登录用户到谷歌的行动应用程序,并获得了谷歌的行动fulfillment后端服务器上的火力点访问令牌?如果有办法做到这一点,我想以前的问题将不存在,因为我将能够使用此firbase令牌来验证用户,无论用户帐户是否使用谷歌帐户或其他电子邮件帐户或其他Oauth2创建供应商。
- 如果上述所有失败,是倾销firebase身份验证,并创建我的Oauth 2服务的一个选项,它将成为唯一可用的备份计划?
非常感谢!我只是想知道如果这个来自StackOverflow文章的@Prisoner人可以在这里提供一些输入,这将是很好的。同意,如果我可以在没有设置OAuth2服务器的情况下使用Google行动的Firebase身份验证,那将会很好。 –