OAuth认证 和 Basic认证

前段时间看到csdn和新浪微博组织的微博应用开发大赛,自己正好参与了一把。

接触了应用接入认证的两种方式。

 

OAuth认证:

OAUTH认证授权就三个步骤,三句话可以概括:  

1. 获取未授权的Request Token 

2. 获取用户授权的Request Token

3. 用授权的Request Token换取Access Token  

当应用拿到Access Token后,就可以有权访问用户授权的资源了。这三个步骤不就是对应OAUTH的三个URL服务地址。每个步骤分别请求一个URL,并且收到相关信息,并且拿到上步的相关信息去请求接下来的URL直到拿到Access Token。  

具体每步执行信息如下:  

A. 使用者(第三方软件)向OAUTH服务提供商请求未授权的Request Token。向Request Token URL发起请求。  

B. OAUTH服务提供商同意使用者的请求,并向其颁发未经用户授权的oauth_token与对应的oauth_token_secret,并返回给使用者。C. 使用者向OAUTH服务提供商请求用户授权的Request Token。向User Authorization URL发起请求,请求带上上步拿到的未授权的token与其密钥。  

D. OAUTH服务提供商将引导用户授权。该过程可能会提示用户,你想将哪些受保护的资源授权给该应用。此步可能会返回授权的Request Token也可能不返回。如Yahoo OAUTH就不会返回任何信息给使用者。  

E. Request Token 授权后,使用者将向Access Token URL发起请求,将上步授权的Request Token换取成Access Token。这个比第一步A多了一个参数就是Request Token。  

F. OAUTH服务提供商同意使用者的请求,并向其颁发Access Token与对应的密钥,并返回给使用者。  

G. 使用者以后就可以使用上步返回的Access Token访问用户授权的资源。

  从上面的步骤可以看出,用户始终没有将其用户名与密码等信息提供给使用者(第三方软件),而是跳转到授权页面,成功后返回,从而更安全。

 

Basic认证:

在访问需要授权的资源时都需要用户提供用户名和密码

httpbasic认证是通过http 协议中的authorization头来传递认证信息的,而其中的basic认证就是其中一种,

basic认证要求认证的用户名和密码对,也就是例如这样:userName:passwd   这样的信息对(userName为用户名passwd为密码),而且用户名和密码对要放在http的头域中传输:

  webRequest = System.Net.WebRequest.Create(url) as HttpWebRequest;//url为访问资源URL

 webRequest.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(userName+ ":" + passwd)));

在传送时候用到属性名Authorization 后面加上一个Basic然后是空格然后便是经过base64编码的用户密码对,这样便可以向服务器进行用户认证。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值