Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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可以通过使用移动设备和QRCODE的双因素身份验证来实现吗?_Java_Android_Oauth_Oauth 2.0_Qr Code - Fatal编程技术网

Java OAuth可以通过使用移动设备和QRCODE的双因素身份验证来实现吗?

Java OAuth可以通过使用移动设备和QRCODE的双因素身份验证来实现吗?,java,android,oauth,oauth-2.0,qr-code,Java,Android,Oauth,Oauth 2.0,Qr Code,我一直在研究OAuth,看看它是否可以用于我正在进行的项目中。我开始怀疑这是否可能。它基于移动设备的双因素身份验证 基本上,我会有一个登录页面,成功登录后,屏幕上会出现QRCode。用户将被提示用他们的android设备(我自己制作的一个应用程序)扫描此代码,该设备将向服务器验证他们的身份 我不确定这是否符合OAuth范式,所以我想我可能需要设计自己的协议 非常感谢您的建议。我认为OAuth在这里找不到位置,您只有一台服务器,您的移动用户不为它所知。OAuth用于客户端(例如:web应用程序、a

我一直在研究OAuth,看看它是否可以用于我正在进行的项目中。我开始怀疑这是否可能。它基于移动设备的双因素身份验证

基本上,我会有一个登录页面,成功登录后,屏幕上会出现QRCode。用户将被提示用他们的android设备(我自己制作的一个应用程序)扫描此代码,该设备将向服务器验证他们的身份

我不确定这是否符合OAuth范式,所以我想我可能需要设计自己的协议


非常感谢您的建议。

我认为OAuth在这里找不到位置,您只有一台服务器,您的移动用户不为它所知。OAuth用于客户端(例如:web应用程序、android应用程序)需要代表拥有某些资源(例如:最终用户Google驱动器文件)的最终用户与服务器(例如:Google Plus)对话,以保护其凭据。例如:你不能/不需要知道他们在Gplus中的密码,Gplus告诉你他们是那里的授权用户,并允许你代表他们做事,请参阅


为什么您的用户在没有QRcode的情况下不在Android应用程序中插入用户名和密码?我不认为你用任何人都可以扫描的qrcode添加了任何安全性,看看Google 2步骤:他们发送短信,就像我最初计划的那样,这是生成一个随机的安全数字,并在用户的计算机屏幕上显示为qrcode。然后,该用户将扫描代码,使用存储在设备上的秘密密码对其进行加密,并将结果直接发送到服务器。服务器知道这是来自用户的,因为它使用与帐户关联的唯一密码进行加密,并且只存储在用户的手机上。当用户首次在网站注册时,它会提示他们安装应用程序,并扫描一个包含其密码的QRCode以存储在设备上。我认为谷歌示例的一个区别是,你知道安装你的移动应用程序并扫描初始代码的人正在回答你,但这个人可能很多,而谷歌只向一部手机发送短信,每次都需要。问:手机是用作登录服务器的加密设备,还是与服务器的交互更频繁?我只是想用手机扫描代码并将其发送回服务器。我会(第一次)在手机上生成并存储“密码”。第一个QRCode应该识别web用户(暂时?)。QRCode值用“密码”发送回服务器(HTTPS),服务器用ID应答,以便稍后发送扫描的代码。Pro:服务器只能接受一部(第一部)电话来识别用户,并且“密码/电话标识符”永远不会显示。