【问题标题】:Create a Firebase authentication using another websites' credential使用其他网站的凭据创建 Firebase 身份验证
【发布时间】:2021-03-01 17:49:58
【问题描述】:

我被分配了一个项目,我必须在学年结束时完成,我必须创建一个我大学的其他学生可以使用的移动应用程序。

我正在使用 Flutter 和 Firebase 创建应用,但我必须检查用户是否是大学成员。为此,他必须在我的申请中输入他的大学证书。

这意味着我必须从大学网站获取身份验证令牌,然后将其传递给 Firebase 以访问应用程序的数据,对吗?如果是这样,我如何使用自定义令牌登录 Firebase?我见过一些例子,但他们都先自己创建了一个自定义令牌(而不是从网站上获取)

我找到的自定义令牌链接:(https://firebase.google.com/docs/auth/admin/create-custom-tokens#:~:text=Firebase%20gives%20you%20complete%20control,via%20the%20signInWithCustomToken()%20method.)

【问题讨论】:

    标签: firebase flutter firebase-authentication token


    【解决方案1】:

    您必须创建一个 Node API,当有人尝试登录时,您的应用将访问端点。API 必须与您大学的网站通信并获取令牌并将其作为响应返回。从应用程序的 API 获得令牌响应后,您必须将其传递给 signInWithCustomToken 方法。

    FirebaseUser.signInWithCustomToken(token: customToken);
    

    这个解决方案似乎是一项艰巨的任务,它确实如此。但是从性能的角度来看,您将减少应用程序必须处理的负载。您的应用只需将作为查询输入的电子邮件 ID 传递给 API,节点将完成所有繁重的工作,让您的应用轻松运行。

    【讨论】:

    • 不知道我可以直接将 Uni 创建的令牌直接传递给 signInWithCustomToken()。我的大学已经有一个 CAS,如果我错了,请纠正我,但我想我不需要节点服务器来获取 accessToken ?顺便感谢您的快速回答!
    • 是的,节点服务器不是获取令牌的必要条件。虽然这通常是一个很好的做法,让您的应用程序保持轻便。但如果您有时间限制或有任何资金限制来获得 GCP,请在没有节点服务器的情况下继续。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 2021-05-20
    • 2016-10-03
    • 2018-10-31
    相关资源
    最近更新 更多