我正在尝试使用两条腿的oauth来允许移动客户端登录我创建的api,但是我不能完全理解这个并且所有教程似乎都说了不同的东西。
从我在双腿版本中读到的内容,oauth使用者密钥和消费者密钥专门分配给用户,并且不使用令牌。因此,当用户登录时,他们(或他们的设备)必须提供他们的消费者密钥和秘密,我们可以使用它来验证他们的身份。但那又怎样?客户端设备是否接收到用于访问API的某些令牌,或者是否每次请求都会发送消费者信息?
用户只能记住用户名和密码,我们如何从客户端设备上的用户名和密码获取消费者密钥和秘密以发送到服务器?
答案 0 :(得分:0)
您不应为每个客户端设备拥有使用者密钥/密钥对。 “消费者”的OAuth概念是使用API对您进行身份验证的特定网站或开发人员。谁在创建用户名/密码对?这些是您的用户帐户,还是您希望用户能够使用Yahoo,Google等帐户登录?
无论如何,我希望用户拥有用户名和密码,而不是消费者密钥和消费者密钥。
答案 1 :(得分:0)
两条腿OAuth删除一个单独的authN / authZ服务器,该服务器直接与三足OAuth中存在的客户端对话。它确实涉及(访问)令牌。客户端设备将接收令牌并可以使用它直到它到期。
此设置的优点是您无需担心每次API调用时client_id / secret的安全性。每次呼叫发送client_id / secret是基本身份验证,不建议这样做。相反,通过使用OAuth,您只需要担心用于获取令牌的API调用上的client_id / secret的安全性(例如,每个令牌的生命周期一次)。如果令牌被泄露,它有一个TTL,而client_id / secret则没有。
提供自己的用户凭据的最终用户不知道client_id / secret。期望客户端应用程序处理令牌的client_id / secret的协商。