gpt4 book ai didi

具有 Firebase Auth 和 MySQL 后端的 Android native 应用

转载 作者:行者123 更新时间:2023-11-29 10:42:07 25 4
gpt4 key购买 nike

我正在创建一个 native Android 应用,该应用当前使用 Firebase Auth 来处理用户身份验证。我在 PHP 站点后面有一个 MySQL 数据库,并且正在构建一个 RESTful API 来访问这些服务。我希望获得授权的用户能够访问有限的功能和数据。

在这种情况下,如何处理后端服务器上的权限?我对 OAuth 等 Auth 技术很陌生,但我感觉这可能是此解决方案的一部分,所以请随意与我交谈,就像我是个白痴一样。 :)

[编辑]我的后端有和Facebook类似的权限;例如内容可以是私有(private)的、 friend 的或公开的。

问候

最佳答案

这取决于您的安全设计。

最简单的方法是拥有基于角色的安全性 - 仅使用 OAuth2/OpenID Connect 进行身份验证(要求 ID token ,而不是访问 token )。然后您必须获取经过身份验证的用户的角色列表。这些角色可以是 ID token 的一部分,或者 API 服务器可以从其他来源(例如其数据库)获取它们。如果角色检索是一项昂贵的操作,您可以考虑发布自己的 token (JWT),其中包含您需要的所有信息。

如果您只想将部分用户权限委托(delegate)给移动应用程序,您可以将 API 范围(权限)注册到 OAuth2 服务器,并且应用程序可以向用户询问其中的一些权限。例如,如果您的应用程序想要代表其用户访问 Google 服务,则该应用程序会要求提供具有特定范围的访问 token (例如读取 GMail 收件箱)。但这可能不是您想要的。

编辑:如果您处理的对象具有自己定义的访问权限(私有(private)、公共(public)、 friend 可见),那么只需从 OAuth2 服务器获取用户身份(ID token ),并在有人通过您的 API 请求此类对象时检查权限。 OAuth2 本身无法帮助您解决此问题。

对于您的 Android 应用程序,请使用授权代码授予流程,如 OAuth2 for native apps 中所述。 RFC。

关于具有 Firebase Auth 和 MySQL 后端的 Android native 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45274132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com