【问题标题】:Authentication method for first-party mobile app?第一方移动应用的身份验证方法?
【发布时间】:2021-06-27 23:59:23
【问题描述】:

我有一个使用我自己的 REST API 的第一方移动应用。

我想知道实现身份验证的常见做法是什么。

OAuth2 似乎被广泛使用,但我不确定它是否是正确的选择,因为我不想将用户重定向到登录网页(我什至没有)并向他们表示同意屏幕。问“您是否允许 EvilCorp iOS 应用程序访问您的 EvilCorp 帐户?”似乎很愚蠢。是否有符合这些要求的 OAuth 流类型?

目前我正在滚动自己的设置。我没有专用的身份验证服务器(但我 100% 很喜欢构建一个)。我的 API 中有一个 /signin 端点,它受 HTTP Basic 身份验证保护,并返回一个令牌 (JWT)。 /signup 端点也返回一个令牌。其他端点大多使用 HTTP Bearer 身份验证保护并验证此令牌。

它有效,但我更愿意遵循广泛接受的协议并使用传统库,而不是尝试重新发明轮子。我应该使用什么常规方法?

【问题讨论】:

    标签: express authentication oauth-2.0 jwt bearer-token


    【解决方案1】:

    OAuth 2 系列技术是一个框架,可为数据保护、身份验证和与其他系统的集成提供最佳现代架构选项:

    在未经用户同意的情况下使用 OAuth 是很常见的 - 大多数公司的应用都是这样工作的。只有当涉及到用户的个人资产时,同意才会发挥作用。

    移动应用的 OAuth 标准是 AppAuth Pattern。但是,您必须克服一个学习曲线,这涉及外部化登录用户体验和用户帐户的存储,这可能很棘手。

    所以这里没有快速的答案,但值得探索一个架构,您不再存储凭据或编写代码来发布令牌,并且您拥有更多面向未来的安全功能:

    【讨论】:

      猜你喜欢
      • 2015-12-21
      • 2011-01-30
      • 2010-10-24
      • 2021-09-25
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多