【发布时间】:2018-05-30 09:56:59
【问题描述】:
我正在为 iOS 和 Android 设计公共原生移动应用程序的安全性,该应用程序使用 WSO2 Api Manager (APIM) 的公开可用 API。
因此,我了解与此设置相关的安全问题,我想为原生应用应用 OAuth2(根据 RFC 8252)。
我了解此类应用程序应该做的第一件事是通过Store API 中描述的接口向 WSO2 APIM 服务器注册,以便为每个应用程序接收唯一的消费者密钥/秘密,即动态客户端注册 (DCR) .
以下是为获取密钥而应发送的请求示例:
curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d @payload.json https://localhost:9443/client-registration/v0.11/register
要执行此类请求,应使用 TLS 1.2 对其进行保护,并且使用 WSO2 APIM 的用户名/密码进行基本授权(在本例中为 Base64 编码 admin:admin)
我知道它至少应该受到基本授权的保护,以提供一些针对 DoS 攻击的安全性,但另一方面,这意味着应用程序应该使用username:password 分发,以便能够进行 DCR。
如果它将与此信息一起分发,那么每个人都可以获取信息并请求例如恶意应用程序注册。
如何处理原生移动应用程序以安全地在 WSO2 APIM 中注册?我认为我对它的工作原理的理解中缺少一些东西。
这是否意味着安装移动应用程序的用户应该在 WSO2 APIM 上拥有自己的帐户,并且应该在安装后立即提供凭据?
当用户在 WSO2 APIM 中没有凭据但拥有通过 API 从 WSO2 APIM 访问的后端服务的凭据时,情况会怎样?是否可以使用此类凭据通过 WSO2 APIM 的 DCR 注册应用程序? (目前后端和WSO2 APIM认证没有集成)
【问题讨论】:
标签: android ios oauth-2.0 wso2 wso2-am