我们应该如何在允许第三方通过OAuth登录的应用程序中验证第一方登录请求?

时间:2015-05-07 01:04:32

标签: ruby-on-rails angularjs api authentication

我们正在开发一个我们希望使用api令牌保护的新API。这些令牌绑定到用户和应用程序。这些第三方应用程序使用OAuth对自己进行身份验证(使用和app_id和app_secret)。这很有效。

但是,我们有自己的移动应用程序,它也将使用此API。显然,我想避免在执行登录时让用户被问到熟悉的“你想让这个应用程序使用你的帐户吗”。显然我们不能在应用程序中嵌入一个秘密,(因此纯粹的OAuth不适用于此)。但是,我不想创建一个可以发送用户名和密码的API端点,因为这样可以完全绕过OAuth方案。

在网站上,我们可以在定期表单提交后将api令牌转储到DOM中,并允许Angular应用程序从那里使用它;但这在移动应用程序中根本不实用。

所以我的问题是;我们如何安全地识别来自我们自己的移动应用的登录请求? (例如)Facebook如何知道它是在验证时提供用户名和密码的Facebook应用程序,而不是某些第三方应用程序?

0 个答案:

没有答案