Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Security 使用OAuth而不是基本身份验证?_Security_Oauth_Basic Authentication - Fatal编程技术网

Security 使用OAuth而不是基本身份验证?

Security 使用OAuth而不是基本身份验证?,security,oauth,basic-authentication,Security,Oauth,Basic Authentication,我们有一个web服务,它目前使用https上的基本身份验证来验证用户请求。我们还有一个使用该服务的网站和一个也使用该服务的本机Windows客户端。我读过OAuth,它似乎总是用来提供或获取外部资源的访问权,即委托,但我试图理解它是否是基本Auth的替代品 我不太清楚所有的部件是如何装配在一起的。您是否使用Basic over https对网站检索机密,然后让向REST服务发出请求的javascript使用OAuth而不是Basic对web服务进行身份验证 似乎在某个时候,用户需要在表单中输入用

我们有一个web服务,它目前使用https上的基本身份验证来验证用户请求。我们还有一个使用该服务的网站和一个也使用该服务的本机Windows客户端。我读过OAuth,它似乎总是用来提供或获取外部资源的访问权,即委托,但我试图理解它是否是基本Auth的替代品

我不太清楚所有的部件是如何装配在一起的。您是否使用Basic over https对网站检索机密,然后让向REST服务发出请求的javascript使用OAuth而不是Basic对web服务进行身份验证


似乎在某个时候,用户需要在表单中输入用户名和密码。我不确定接下来会发生什么。这是OAuth的一个用例吗

如果您有用户(资源所有者)的本地数据库帐户,则可以使用名为“资源所有者密码凭据”的OAuth流之一替换基本身份验证。 这是一个非常简单的流程,您可以向HTTP服务器中指定的端点发出HTTP post,该端点通常命名为
/token
。此HTTP post操作的内容类型为
x-www-form-urlencoded
,因此post正文将包含以下内容
grant_type=password&username=Taiseer&password=SuperPass

当请求发送到
/token
端点时,服务器将根据数据库存储验证用户凭据,如果所有凭据都有效,则应生成一个令牌(签名字符串),其中包含此资源所有者(用户)的所有声明。然后,您的客户端应用程序应使用
bearer
scheme在每次调用任何受保护端点时在授权标头中显示此令牌。
此令牌在特定时间后过期,您可以从AuthZ服务器配置此令牌。您可以阅读我的详细博客文章以获得更多详细信息。

您描述的不是OAuth,而是您自己的基于令牌的安全方法。我考虑过一个类似的方案,但希望使用一个标准。此外,您的文章要求基于表单的http认证,这将是一个巨大的安全漏洞。不,我不同意您的观点,这是OAuth流的单个流,这不是表单认证,我已经提到这应该在生产中通过https完成。看来你读得不好。阅读有关此流的详细信息:。对此表示抱歉。我只读过OAuth 1.0a,所以不熟悉“资源所有者密码凭据”。我读了一些关于OAuth2.0的文章,但听起来好像有一些安全问题。特别是因为一个主要的开发者离开了这个项目。感谢您的更正,我将重读您的文章并重温OAuth 2.0欢迎您,没关系:)但是所有的大玩家(谷歌、Facebook、微软)都在采用它,所以我相信它不会轻易消亡。如果你需要进一步的帮助,请告诉我。