为什么应用程序用户令牌需要用于移动应用程序

时间:2014-04-25 11:46:26

标签: api oauth-2.0 wso2

在WSO2 APIM中,根据有关生成用户访问令牌的文档[1]:https://docs.wso2.org/display/AM140/Generating+Access+Tokens+to+Invoke+APIs,它说'用户级令牌允许用户甚至从第三方应用程序(如移动应用程序)调用API。

  1. 是否使用这些用户访问令牌来避免通过不受信任的移动应用程序公开client_id和client_secret?
  2. 如果是这样,在创建应用程序用户令牌时,使用令牌API [2]:https://docs.wso2.org/display/AM160/Token+API,如下面的请求
  3. curl -k -d" grant_type = password& username =& password =& scope = PRODUCTION" -H"授权:基本SVpzSWk2SERiQjVlOFZLZFpBblVpX2ZaM2Y4YTpHbTBiSjZvV1Y4ZkM1T1FMTGxDNmpzbEFDVzhh,内容类型:application / x-www-form-urlencoded"

    发送用户名,密码和client_id的编码字符串:client_secret以创建新令牌。这是否意味着user_name,密码和编码的client_id:client_secret需要保存在移动应用程序中?如果是这样,由于移动应用程序可以很容易地被反编译并提取这些信息(即使通过解码base64编码的client_id字符串:client_secret),client_id和client_secret也会暴露给其他人。

    在WSO2 APIM中如何处理?如果我在这里误解了这个概念,请纠正我。

1 个答案:

答案 0 :(得分:0)

您的理解是正确的。但在移动应用案例中,我认为它基于应用程序设计。

例如,当移动用户登录移动应用程序时,应用程序必须通过中央系统进行身份验证,该系统将在APIManager服务器上运行。该系统在内部硬编码密钥和消费者密钥以发出后端请求。因此,当用户向中央系统进行认证时,从用户的登录会话中,将提取他的用户名,密码以进行API调用。多数民众赞成如何,服务器也将管理限制。 它不像,移动应用程序包含逻辑。