oauth授权

    技术2024-11-07  23

    1.OAuthOAuth是一种国际通用的授权方式,它的特点是不需要用户在第三方应用输入用户名及密码。OAuth的技术说明可参看官方网站 http://oauth.net (英文)。

    微博系统中,OAuth的Access token不会过期,只有用户手工撤销授权或收回您的app访问权限access token才会失效。

    目前OAuth只支持授权读写访问,授权的应用可以获取用户数据及发表微博。目前暂时不支持只读权限授权。

    2.认证流程及访问资源流程腾讯微博API通过以下四个步骤来完成认证授权并访问或修改受限资源的流程

    1.获取未授权的Request Token(temporary credentials) 2.请求用户授权Request Token 3.使用授权后的Request Token换取Access Token(token credentials) 4.使用 Access Token 访问或修改受保护资源

    3.桌面应用的OAuth使用方式OAuth协议规范由于需要输入密码之后跳转到callback URL, 因此并不十分适合桌面软件(非Web软件)。我们采用输入PIN的方式来激活纯桌面应用。具体流程为:

    第三方应用软件向API调用获得request token 用户打开网页跳转到新浪微博网站输入用户名及密码。 验证通过之后,用户会看到一个PIN码。 新浪验证通过网页界面提示用户需要到应用软件输入PIN码。 第三方应用软件提示用户输入PIN码。 第三方应用软件将PIN作为oauth/access_token接口的oauth_verifier parameter参数传入,获取access_token. API接口返回后续请求所需access_token

     

    4. RequestToken resToken=weboauth.request("http://localhost/s/callback.jsp");   response.sendRedirect(resToken.getAuthorizationURL());// http://localhost/s/callback.jsp?oauth_token=68fbb7cadac41b0a152afe2e82a5a225&oauth_verifier=712361

     AccessToken accessToken=weboauth.requstAccessToken(resToken,verifier);         //第二个参数每次只能用一次,发表微博内容不能重复,如果重复发会返回400错误     //这个accessToken不用每次访问都重新取,可以存到session里面用     weboauth.update(accessToken,"web方式发表微博4");     out.println("发表成功");  

    最新回复(0)