Spring oauth2授权提供商

时间:2016-10-13 11:40:44

标签: java spring-security oauth-2.0 spring-security-oauth2

  

我是Oauth的新手,我有使用Spring Oauth2和xml的应用程序   组态。已经参考了   http://www.beingjavaguys.com/2014/10/spring-security-oauth2-integration.html

因此,获取令牌的下面的网址是

http://localhost:8080/SpringRestSecurityOauth/oauth/token?grant_type=password&client_id=restapp&client_secret=restapp&username=beingjavaguys&password=spring@java

它提供令牌响应。 所以这里请求url client_id在xml文件中是硬编码的。我想在运行时发送clientId,grantType。 这里有什么需要注意的事情。

1 个答案:

答案 0 :(得分:1)

通常你会在一个标题中发送client_id / client_secret。

OAuth2仅在使用https时才是安全的,因为传输了秘密数据。

这是一个例子(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=**********"