如何分发 oauth2 客户端应用程序?

How to distribute oauth2 client app?

我编写了一个 android 应用程序来获取我的帐户使用情况,例如来自 Ringplus 网站 (ringplus.net) 的语音数据使用情况、SMS 数据使用情况。

Ringplus API (https://docs.ringplus.net/) 使用 Oauth2。我编写的应用程序为我的帐户硬编码了客户端 ID 和密码。

现在,我的帐户一切正常。但是我想把这个应用给我的朋友,这样他也可以用它来查看他的账户使用情况。

硬编码客户 ID 和密码后,这对我的朋友有何作用?

此外,当我在 Ringplus 网站上创建应用程序时,我只是将 redirect_uri 添加为不存在的东西,例如 http://localhost,因为我没有托管任何东西。

所以,我的问题是如何使用硬编码的客户端 ID 和密码分发我的应用程序?

谢谢

如果我没记错的话,客户端 ID 和密码用于 API 访问。那个不能被替换并且需要存在才能使应用程序成功地使用 API.

进行身份验证/授权

如果您不想分享您的客户端 ID 和密码,您可以在 android 应用程序中提供一个首选项屏幕,供用户输入该信息。但是用户需要注册 API(就像您所做的那样)。使用在 SharedPreferences 中输入的信息可用于连接到 API.

您应该将客户端机密存储在服务器中。通过将 clientid 发送到 ringplus 收到代码后,您将获得服务器重定向 uri 的代码。从这里您可以将客户端密码发送到 ringplus 并将身份验证令牌发送给用户