request token url: 獲取未授權的request token服務位址;
user authorization url: 獲取使用者授權的request token服務位址;
access token url: 用授權的request token換取access token的服務位址;
oauth請求流程:
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訪問使用者授權的資源。
code:
1、獲取request_token
2、獲取accesstoken
**3.
string code = request.getparameter("code");
proxy proxy = null;
string authurl = facebookoauthutil.getauthurl(code);
url url = new url(authurl);
// then parsing the response to get accesstoken info
string result = readurl(url, proxy);
**4public static string getauthurl(string authcode)
**5.
private string readurl(url url, proxy proxy) throws ioexception else
int r;
while ((r = is.read()) != -1)
return new string(baos.tobytearray());}}
從result的結果中可以解析出你所需要的accesstoken,這樣就可以根據accesstoken獲取你想要的東西了,包括發微博,修改個人資訊等操作。
springcloud整合Oauth2許可權專案
最近專案提交測試階段,有那麼點點空閒時間,於是打算還是搞搞自己的東西,現在分布式很火,如果不會點分布式或者不知道分布式,那就有點說不過去了,現在動不動都會問到關於分布式的話題,不會的話就有點掉分了。準備搭建乙個簡易許可權系統,技術棧 springcloud那一套 eureka zuul oauth2...
oauth2 整合redis 無法注入
在oauth2的資源伺服器上,想要獲取redis中的clientid進行校驗,但是redis工具類無法注入,redistemplate一直為null,原因是authenticaitonmanager先於redistemplate載入,所以一直獲取不到,不能注入,什麼時候呼叫,什麼時候獲取。overr...
IIS tomcat 整合,並且通過網域名稱訪問
好了,現在說到正題 我將一步一步帶著你往下走,我們先從tomcat的網域名稱配置入手,首先你要在dns中配置網域名稱 我們就不要那麼麻煩了,就直接在 c windows system32 drivers etc 下的hosts 檔案下 新增乙個網域名稱 127.0.0.1 localhost 127...