2012-06-05 42 views
2

我对OAuth和API安全性相当陌生。使用OAuth授权访问我自己的REST API

我正在构建一个REST API,它将被我自己的移动应用程序访问。

我想通过OAuth授权和身份验证向其他开发人员公开API,我将使用自己的OAuth提供程序。

什么是我自己的移动应用程序的身份验证策略?毕竟,我不需要用户授权我的应用程序。我可以使用OAuth进行身份验证,同时拥有默认预授权的自己的移动应用程序?

我可以使用OAuth验证移动应用程序的用户,还是需要OpenID之类的东西?

回答

0

如果您希望跨越用户授权步骤,我不认为您需要oauth。但是,如果您决定使用oauth,则可以将授权步骤作为登录对话框屏蔽或为应用程序提供访问令牌。用户授权是oauth功能的一个非常重要的组成部分,因此忽略它可能意味着您应该使用其他一些界面来访问用户的信息。

+0

ofcourse that users will have a login dialog。我应该为我自己的应用程序和oauth使用不同的身份验证方法来访问第三方应用程序吗? 什么认证方法最适合这个? –

0

Accessing my own oauth REST API - OAuth没有办法处理REST apriori:OAuth - 是授权协议,REST - 一种架构风格。

对于OAuth - 使用版本2.0 - 已经是2012。例如,对于Android上的移动应用程序,您可以使用可以获取用户帐户与哪个用户在GooglePlay商店/ GMAIL中注册他的手机(然后从服务器端生成一次性密码)。如果有人不会将它们提供给您的应用程序 - 请进行明确的身份验证。

现在大概只有计算器不使用显式验证 - 那么为什么你应该有所不同呢?您可以将身份验证链接到FB或Google或任何其他OAuth提供商 - 您是如何创建适当的OAuth提供商的?

您可以使用OAuth和OpenID对用户进行身份验证。

+0

所以像我的手机应用程序的api键和第三方API访问的OAuth的东西? –

+0

对于Android,您有内部存储:'您可以直接在设备的内部存储器上保存文件。默认情况下,保存到内部存储的文件对于您的应用程序是私人的,其他应用程序无法访问它们(用户也无法访问)。当用户卸载您的应用程序时,这些文件将被删除。“对iOS来说也一样。我认为系统默认的方法可以给你足够的保护 - 使用它们。如果不通过OAuth完全认证 - 但用户友好。 –

+0

目前我正在使用在HTTP请求标头中传递的API密钥。用户使用他的用户名/密码登录,服务器验证它并返回标识该特定用户的API密钥。我正在研究这样做的标准方式(请记住,我将在第三方应用程序中使用OAUTH) –

相关问题