Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.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 OAuth 1.0还是2.0服务器实现?本机移动应用程序身份验证_Java_Mobile_Oauth_Oauth 2.0_Facebook Oauth - Fatal编程技术网

Java OAuth 1.0还是2.0服务器实现?本机移动应用程序身份验证

Java OAuth 1.0还是2.0服务器实现?本机移动应用程序身份验证,java,mobile,oauth,oauth-2.0,facebook-oauth,Java,Mobile,Oauth,Oauth 2.0,Facebook Oauth,有很多资源从客户端、Facebook/LinkedIn/Twitter API的使用等方面描述OAuth的使用。这没关系。但我对OAuth服务器实现感兴趣。其目的是让移动设备(本机应用程序)也可以访问web应用程序,因此我需要在后端Java服务器上设置OAuth。因此,我想知道LinkedIn/Facebook/Twitter是如何在服务器端实现OAuth的,并将用户区分为auth_token-s并授予相应的访问权限(某种数据库映射-auth_token=用户身份?) 或者也许有更好的方法来验证

有很多资源从客户端、Facebook/LinkedIn/Twitter API的使用等方面描述OAuth的使用。这没关系。但我对OAuth服务器实现感兴趣。其目的是让移动设备(本机应用程序)也可以访问web应用程序,因此我需要在后端Java服务器上设置OAuth。因此,我想知道LinkedIn/Facebook/Twitter是如何在服务器端实现OAuth的,并将用户区分为auth_token-s并授予相应的访问权限(某种数据库映射-auth_token=用户身份?)


或者也许有更好的方法来验证移动用户(我将使用REST风格的服务作为后端)?

Facebook、LinkedIn和Twitter已经按照(Twitter LinkedIn)和(Facebook、LinkedIn)的规范实现了OAuth

我建议使用OAuth 1或OAuth 2用户代理流。如果你的心思放在OAuth上,那就是。您可以从一开始就关注真正困难的部分,即API本身的设计


如果您的想法是OAuth,请查看以下代码库列表:。还要阅读规范,如果您想实现OAuth提供程序,您必须了解和理解规范。否则,您将陷入一个痛苦的世界,寻找能够为您解决所有“OAuthy”问题的现成库。

请您也澄清一下,您是否熟悉OAuth规范-它是否指定了如何生成令牌,以及如何将令牌映射到用户身份(运行时hashmap、数据库等),或者规范中缺少这一部分,这取决于提供商的实现,所以Twitter/Facebook/LinkedIn每个人都有自己的提供商实现?也许,您知道这些公司在OAuth体系结构/实现上提供的任何演示文稿/文档吗?没有指定令牌和秘密生成,这确实取决于实现者的以下声明:
请谨慎行事,并合理地使用最长的秘密。即使用严格的加密算法,使用真正随机和复杂的盐。当谈到OAuth 1时,请阅读以下内容:。它描述了客户机的实现者需要做什么,以及作为提供者您需要遵守和支持什么。我没有找到更多关于实现的详细文章。在我看来,这可以归结为对规范的理解。另一点是,对于OAuth 1的问题域,使用者(客户端)和提供者(服务器)实际上做了相同的事情,他们用相同的秘密对参数进行签名,因此用于签名请求的客户端库可以轻松地用于在服务器端对验证请求进行签名。区别在于,一旦完成,一部分发送响应,另一部分接收响应。对于OAuth 2,根据您选择的流,差异更大。用户代理流似乎是最常用的。但是请记住,OAuth2仍然是一个规范草案。