Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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
Javascript 使用OAuth限制对移动网页和本机应用的公司Web服务的访问_Javascript_Authentication_Ios5_Oauth - Fatal编程技术网

Javascript 使用OAuth限制对移动网页和本机应用的公司Web服务的访问

Javascript 使用OAuth限制对移动网页和本机应用的公司Web服务的访问,javascript,authentication,ios5,oauth,Javascript,Authentication,Ios5,Oauth,我正在考虑一个我不确定OAuth是否适合的设计,但这是基本问题 我有需要不同安全级别的公司Web服务 检查用户等级-需要用户名/密码 更改用户等级-需要用户名/密码/RSA令牌号 因此,如果应用程序想要执行(1),它将要求提供凭据,但是,我希望OAuth服务器能够被告知用户试图访问哪个服务,并且会显示正确的字段,因为这是初始登录 现在,第二次,应用程序(浏览器或应用程序)有一个令牌,但是,该令牌是不够的,但是,应用程序不应该知道这一点,因为安全需求可能会根据安全人员的决定而改变 因此,当提供令牌

我正在考虑一个我不确定OAuth是否适合的设计,但这是基本问题

我有需要不同安全级别的公司Web服务

  • 检查用户等级-需要用户名/密码
  • 更改用户等级-需要用户名/密码/RSA令牌号
  • 因此,如果应用程序想要执行(1),它将要求提供凭据,但是,我希望OAuth服务器能够被告知用户试图访问哪个服务,并且会显示正确的字段,因为这是初始登录

    现在,第二次,应用程序(浏览器或应用程序)有一个令牌,但是,该令牌是不够的,但是,应用程序不应该知道这一点,因为安全需求可能会根据安全人员的决定而改变

    因此,当提供令牌以获取(2)时,它确定该令牌不足,因此返回错误,因此应用程序可以继续尝试获取新令牌

    我还没有实现这些,但作为一个基本设计,我不确定OAuth是否适合我想要做的事情,或者我是否最好编写自己的身份验证系统

    最初,web服务的客户端将是移动web应用程序,但是,我想让它足够灵活,以便在编写本机手机应用程序时,它能够使用相同的系统。因此,让应用程序需要知道我遇到的安全问题,并且每次都将凭据传递给我不满意的Web服务,因此我希望有一个可以使用的加密令牌,如果您满足(2)的要求,那么您可以使用相同的令牌进入(1)

    那么,OAuth是否很适合这样做

    OAuth似乎有基于此()的身份验证方面


    更新:-在这方面,Open Connect()似乎比OAuth更好,但我现在正在学习Open Connect。

    在我看来,使用OAuth有两个好处

  • 用户不需要为您的服务创建新的用户名/密码
  • 您不需要存储密码或使用ssl证书进行登录(可能您需要ssl进行其他操作,不确定)
  • 你提到你有两项服务。您不希望用户必须同时登录这两个站点,因此我建议创建一个facade(webservice),用户可以在其中登录(使用oAuth),因为您需要配置一个回调url。通过该facade服务,您可以授权某些调用,并将这些调用转发给其他服务

    我不知道用户是什么意思,但oAuth用于身份验证,而不是在应用程序中进行授权(我相信)。您需要将oAuth用户与该用户的内部表示形式以及访问权限进行映射。这仍然意味着您需要将用户存储在您身边的某个位置。唯一的问题是,您不需要存储密码,也不需要开发自定义登录页面


    因此,简而言之,oAuth只能告诉您某个用户是已知的,并且是经过身份验证的。剩下的就看你了。实现oAuth并不难,但也不是一件小事。因此,这让我们回到了我前面提到的两个好处,您必须决定是否以及为什么要采用这种方法。

    请记住,OAuth本身处理授权,而不关心身份验证。@Kos-我想我的困难在于,如果授权部分不符合要求,我希望使用身份验证部分要求。因此,您没有(2)的授权,但您有(1)的授权,因此需要首先重定向以获得(2)的身份验证。我倾向于只构建自己的系统,但希望尽可能利用公认的标准(或草案)。