这个是Oauth1.0的 ,其实我现在想做2.0的 ,不过总是没有找到合适的资料,唉,着急啊 ,谢谢各位了

解决方案 »

  1.   

    我的博客里面有一个写的是SAML协议的服务端。
    跟OAuth的类似,可以看看,先熟悉下原理。
      

  2.   

    OAuth其实往简单了说有以下几个特点:
    1. 往往整合现有的分散的用户存储中心,比如SQL,AD,以及其他方式的验证
    2. 肯定是将上述的用户存储中心的用户属性进行统一的规范化,比如用oauth.id.name来代表SQL的Name Column或者AD的samaccountaname或者其他验证方式的name,其他属性类似。
    3. 肯定将上述的oauth.id.name oauth.id.phone oauth.id.address进行签名或者加密
    4. OAuth的前一步其实是OpenID, OpenID只负责登录的验证,并不返回任何真正有用的信息。比如你有个OpenId服务器,登录后只返回给你一个Token=123456789,这个Token就像电影票,你可以拿着这张票来OpenId服务器中获取OAuth协议的那些身份和权限(第三步那些东西),然后这个Token=123456789就作废了,想要再次取得新的OAuth协议的身份和权限,需要从OpenID重来一次。当然,如果你买了电影票,今天不去看,明天也作废了。
    5. 每个使用OpenID和OAuth的依赖方服务器(客户端服务器,需要实现OpenID登录或者OAuth验证的服务器),在OpenID和OAuth服务器上都需要有唯一的配置,也就是说,每个依赖方服务器在OpenID和OAuth服务器上都需要有唯一识别码,这样通过https://openid.auth/oid?clientid=[依赖方识别码]才能正确的使用OpenID和OAuth
    6. 每个OpenID和OAuth对应一个依赖方服务器都需要有一套独立的配置,比如返回哪些属性,需要哪些信息等,这样才能保证验证和登录的唯一性,不能说https://openid.auth/oauth?clientid=[依赖方识别码]&require=oauth.id.name的时候返回给人家一大堆的属性。
    ……
    暂时想到这么多,OpenID研究的不太多,但是感觉基于声明的验证方式都是一个路子,你还需要按照openid的官方协议去写,这样适应面更广。
      

  3.   

    你下的这套代码  里面有个HttpModule应该是个主要的入口,将他加入到你的Test IIS工程上,6.0 <httpModules>  7.0<modules>  然后试试
      

  4.   

    只调用过,没写过。看看下面的讨论:OAuth 2.0 Service Provider .NET libraries
    http://stackoverflow.com/questions/3997172/oauth-2-0-service-provider-net-libraries
      

  5.   

    DotNetOpenAuth
    http://sourceforge.net/projects/dnoa/
      

  6.   

    帖链接的时候总是不小心按Ctrl+Enter把回帖发出去
      

  7.   

    我是做java的,我们公司也有同样的需求,做个OAuth2.0的服务端,楼主现在摸索的怎么样,能不能讲讲你的理解和思路,给我点方向,现在看一些开发平台的网站API都是客户端的实现,大致晓得了OAuth的验证原理,但具体如何实现什么的,望指教