整合oauth訪問facebook的java開發

2021-08-31 13:16:32 字數 1902 閱讀 7500

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...