-
概况
身份验证通常被定义为是对某个资源的身份的确认的活动,这里面资源的身份指代的是API的消费者(或者说是调用者)。一旦一个用户的身份验证通过了,他将被授权访问那些期待访问的资源或API。
验证(Authentication)- 指的是对API最终使用者的确认的活动。
授权(Authorization)- 指对那些验证通过的用户能所能够访问的资源进行确认的活动。 -
身份验证的标准(Authentication Standars)
身份验证的标准和技术太多了,比如,
2.1 基于表单的验证(Form Based):基于Web/HTML的身份验证通常适用HTTP Cookie。
2.2 Basic/Digest/NTLM身份验证:这种身份验证方式使用HTTP头来鉴别用户。
2.3 WS-Security SAML and Username Tokens:基于SOAP/XML的身份验证方式是通过在SOAP的消息头传递凭证实现的,同时你也可以对该凭证信息进行签名或加密,当然这个过程不是必须的,可选的。
2.4 API关键字(API Key):每一个API的请求都包含一个唯一标识用户的关键字。
2.5 OAuth 1.x/2 :基于HTTP的交互和工作流,授权对资源的使用,如API、Web等。
OAuth包括了一个间接进行身份验证的步骤,但是并没有宣布这个验证要如何进行。
当你的身份验证以来于凭证或者关键字,并且通过HTTP传输,那么你就要小心了。
因此为了避免潜在的攻击者偷听或窃取你得身份信息,你应该强迫自己使用HTTP