我已经了解到OAuth 2.0委派了访问控制。我想在这里问一下OAuth2.0客户端凭据授权流程(http://oauthlib.readthedocs.io/en/latest/oauth2/grants/credentials.html) 。当我读到这个流程时,它允许客户端应用程序在目标服务(web api)的控制下(客户端应用程序拥有的资源)访问资源。例如,在Google服务的情况下 - 客户端应用程序可能想要检索拥有的Blob数据由Google Blob Storage提供。使用OAuth2.0保护Web Api
但我看到有人使用此流程进行客户端和服务应用程序之间的身份验证(而非授权)。例如有一个Web API,它为一些公开的数据提供服务,而不是由特定的客户端APP拥有。而这项服务只能由少数众所周知的客户端应用程序来调用。 (因此,新客户端应用程序在获得访问权之前需要经过适当的入门过程)。
因此,在这种情况下,易于使用OAuth 2.0客户端凭证流程。或者仅当客户端应用程序想要访问自己的资源时才适用。
在HTTPS上实施基本认证(使用DIGEST认证)时,它是否会在发生暴力攻击时提供保护。说一些代码尝试通过尝试许多不同的用户名,密码组合来猜测用户名,密码。不知何故,如果它变得正确,它将能够致电我的服务。是否有任何主要的服务应用程序会阻止这种类型的攻击。另外我不想要OAuth 2.0,因为OAuth 2.0的实现不会非常具有可伸缩性,如果客户需要每隔一段时间调用一次该服务,那么每次OAuth2.0流程都不会被缩放... –
是否有像每个客户端一样的更简单的解决方案?私钥和公钥。服务器将保留所有客户端的公钥集合。每当客户想要发送任何请求时,它都会用自己的私钥对其进行签名,然后服务器将不得不使用公钥对该签名进行验证。 –
@GajananKulkarni查看我的回答。 –