Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何分发oauth2客户端应用程序?_Java_Android_Oauth 2.0 - Fatal编程技术网

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

Java 如何分发oauth2客户端应用程序?,java,android,oauth-2.0,Java,Android,Oauth 2.0,我已经编写了一个android应用程序,从Ringplus网站Ringplus.net获取我的账户使用情况,如语音数据使用情况、短信数据使用情况 Ringplus API使用Oauth2。我编写的应用程序为我的帐户硬编码了客户id和密码 现在,我的账户一切正常。但我想把这个应用程序给我的朋友,这样他也可以用它来查看他的帐户使用情况 有了客户id和密码,我的朋友该怎么办 另外,当我在Ringplus网站上创建应用程序时,我只是添加了重定向uri,因为我没有托管任何东西,所以它并不存在 所以,我的问

我已经编写了一个android应用程序,从Ringplus网站Ringplus.net获取我的账户使用情况,如语音数据使用情况、短信数据使用情况

Ringplus API使用Oauth2。我编写的应用程序为我的帐户硬编码了客户id和密码

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

有了客户id和密码,我的朋友该怎么办

另外,当我在Ringplus网站上创建应用程序时,我只是添加了重定向uri,因为我没有托管任何东西,所以它并不存在

所以,我的问题是,我如何分发带有客户端id和密码的应用程序


谢谢

如果我没有弄错的话,客户端ID和密码用于API访问。无法替换该API,应用程序需要存在该API才能成功进行身份验证/授权


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

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

只是为了澄清,我不介意在代码中硬编码我的应用程序客户端id和密码值。你是说,使用这些硬编码的值,即使我将应用程序交给朋友,它也会与他的帐户一起获得统计数据?我认为它可能不起作用……请注意,我的Ringplus用户和密码将与他的不同。在我的帐户中,我创建了一个应用程序,我从中获取客户机&secret&硬编码。我认为当他第一次使用我的硬编码客户端和密码通过webview进行身份验证时,这是行不通的。您能澄清一下吗?硬编码的解决方案并不理想,尤其是当您希望应用程序投入生产时,但在开发和测试阶段,它可以是一种选择。除此之外,根据API Retrieve授权代码,当调用该代码时,用户将进入一个身份验证页面,该页面将要求用户提供其用户名和密码,或者他们需要的任何身份验证信息,一旦身份验证基于回调传递的参数完成,它将被重定向回您的应用程序。是的,一旦它经过身份验证,它将被重定向回应用程序,但我的重定向uri只是虚拟的,因为我没有任何类似的内容。我写这个应用程序只是为了开发,不是为了生产。你是说在这种情况下它还能工作吗?当你启动你的应用程序时,你会看到身份验证屏幕吗?这个url解释了一点,关于如何使用oauth 2.0的回调。。所使用的api与您的api不同,但它显示了如何使用从回调侦听的意图。它应该在清单文件中定义。