サードパーティのユーザーアクセスを簡単に実行

1244 ワード

本文は共通の第三者アクセスの方法を紹介して、類似して他のウェブサイトにアクセスすることができます(例えばQQなど、注:現在QQ自身がしたのは比較的に乱れて、見ています)
 
適用シーンの例:
 ウェブサイトAは、Weiboのインタフェースを用いる、ウェブサイトAに新規のユーザを登録することなくウェブサイトAにログインし、ウェブサイトAの関連機能を利用することができる.
 
开発指导
1.oauth 2のインストール
Gemfile
gem 'oauth2', :git => 'https://github.com/oldfritter/oauth2'
申請keyとsecretはここで後述しない
 
2.業務コードの例
require 'oauth2'
@client = OAuth2::Client.new my.key, my.sercet, site: 'https://api.weibo.com'
@client.options[:authorize_url] = '/oauth2/authorize'
@client.options[:token_url] = '/oauth2/token'

      (注:デフォルトの認証はsite/oauth/authorizeにコミットされるため、新浪微博はhttps://api.weibo.com/oauth2/authorize,
だから上の2行がありました)
    code
@client.auth_code.authorize_url redirect_uri: call_back_url  # call_back_url      url

#      access_token
@token = @client.auth_code.get_token code, redirect_uri: call_back_url

#  Weibo      
@token.post '/2/statuses/update.json', params: {'access_token' => @token.token, 'status' => 'test message'}