移动应用如何通过PKCE来实现授权代码流?

问题描述 投票:0回答:1

让我们想象以下内容:

  1. 我已经使用Xamarin开发了一个移动应用(与iOS / Android兼容)
  2. 我希望它通过PKCE支持OAuth2 + OpenID connect的授权代码流,因此用户的凭据永远不会存储在设备上,而访问令牌却存储在设备上。该令牌授予对用于使整个移动应用程序运行的API的访问权限,这意味着该移动应用程序只是一个前端接口/ UI。
  3. 我的移动应用是否被视为“客户端应用”或“资源所有者”?

第三步使我很难理解这一点。如果它被认为是客户端应用程序,那么将如何遵循整个代码流程来保护我们免受任何攻击,因为大多数事情都是可见的(移动应用程序是公共客户端,没有反向渠道)

[如果它被认为是资源所有者,那么这是否意味着我必须抽出一个完整的专用后端,该后端与我的API分开,与我的授权服务器分开,并且仅针对移动应用程序(它将是“客户端应用程序”)?

[如果有人可以对此有所启发,请告诉我。标题不是很正确,如果可以对其进行编辑以更好地适应该问题,我将非常感谢。

security authentication xamarin oauth-2.0 authorization
1个回答
0
投票

您的移动应用程序是客户端应用程序-在授权服务器中配置了信任条目。 PKCE通过移动应用程序工作,生成用于2条消息的运行时机密:

  • 登录重定向
  • 授权码授予消息

请参阅my write up中的步骤4、7和8以了解PKCE消息

移动OAuth涉及集成AppAuth库,这并不容易,尽管一旦完成,您将拥有最佳的安全性和可用性。

我有一个示例Android应用程序,并编写了可以轻松运行here的代码

iOS上的行为类似-希望这有助于您阐明要求。

© www.soinside.com 2019 - 2024. All rights reserved.