2016-10-13 233 views
1

我是Oauth的新手,我使用Spring Oauth2與xml 配置一起使用。從 http://www.beingjavaguys.com/2014/10/spring-security-oauth2-integration.htmlSpring oauth2授權提供商

所以下面的URL所取出的參考,以獲得令牌是

http://localhost:8080/SpringRestSecurityOauth/oauth/token?grant_type=password&client_id=restapp&client_secret=restapp&username=beingjavaguys&[email protected] 

它給人的令牌reseponse。 所以在請求url中,client_id在xml文件中被硬編碼。我想在運行時發送clientId,grantType。 這裏需要注意哪些事情。

回答

0

通常情況下,你會發送client_id/client_secret頭。

如果使用https,因爲有祕密數據傳輸,OAuth2纔是安全的。

這裏一個例子(angularjs):

auth = 'Basic ' + window.btoa(client_id + ':' + client_secret); 
    $http.defaults.headers.common.Authorization = auth; 
    $http.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 
    grantparam= 'grant_type=password&username='+loginData.username + '&password=' + loginData.password; 
    $http.post('https://localhost:8123/oauth/token?'+grantparam) 

在這裏從捲曲郵遞員:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic 111111111111111" -H "Cache-Control: no-cache" -H "Postman-Token: 11111111-111111111111111" "https://localhost:8443/sf/api/oauth/token?grant_type=password&username=11111111111&password=**********"