我的应用程序需要 OAuth2 吗?

Is OAuth2 what my app need?

我正在 android 上制作一个应用程序,允许用户在获得名称和密码后通过网络修改您的个人资料 api 休息。

我已经建立了一个系统 return,一旦通过身份验证,一个唯一的安全令牌将用于对用户进行身份验证以执行操作(更新配置文件)。

我第一次使用这样的 URL,用户可以访问(登录):

webserver.com/?login&user=michael&password=7c4a8d09ca3762af61e59520943dc26494f8941b

然后,如果数据正确,其余 api return android 应用程序的唯一令牌。 android 应用程序存储这个唯一的令牌,直到用户不关闭会话,更新他的个人资料。

我使用这样的 URL 更新:

webserver.com/?update&token=ee977806d7286510da8b9a7492ba58e2484c0ecc&newname=mathews

然后,当用户关闭会话时(在 android 应用程序内),我通过另一个 url...

从网络服务器中删除令牌

这个系统好吗?这是我的令牌"safe"?

我将那些 url(没有参数值)存储在我的 android 应用程序的常量中...安全吗?我可以做其他事情吗?

这个问题提供了一些关于如何使您的通信更安全的非常有用的答案:

不,这不安全。永远不要在 URL 中填充凭据,因为 URLs 往往会记录在许多不同的地方,从而将凭据暴露给第三方。对这类事情使用 HTTP body。

始终使用加密的 SSL/TLS 来传输凭据。或者使用像 OAuth1 这样的加密系统来避免以明文形式发送凭证。 OAuth1 定义了一种无需实际发送凭据即可证明其所有权的方案。

对令牌使用 HTTP 授权 header。搜索 "http authorization bearer token".