質問編集履歴
1
OAuthに関しての疑問を中心に知りたいため
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
OAuth2.0 client secret grantに関して
|
body
CHANGED
@@ -1,42 +1,31 @@
|
|
1
|
-
###前提
|
1
|
+
###前提
|
2
|
-
|
2
|
+
自身のWEBアプリケーションにOneloginのAPIを利用しようと考えております。
|
3
|
-
|
3
|
+
言語はPHP・javascriptを使用しております。
|
4
4
|
|
5
|
-
OneLoginのドキュメントを参考にしながら、
|
6
|
-
|
5
|
+
このAPIを利用するためにまずアクセストークンを生成が必要になっていて、
|
6
|
+
その生成の際にOAuth2.0の認証が必要になっています。
|
7
7
|
|
8
|
+
[公式のドキュメント](https://developers.onelogin.com/api-docs/1/oauth20-tokens/generate-tokens)を見てみますと、
|
8
|
-
|
9
|
+
リクエストパラメータの欄に「grant_type Set to **client_credentials**」と記載されてました。
|
9
10
|
|
10
|
-
|
11
|
+
この**client credentials grant**に関して調べてみますと、
|
11
|
-
|
12
|
+
> 社内のAPIサーバー等信頼できるクライアントからOAuthする時
|
12
13
|
|
13
|
-
|
14
|
+
という内容の説明や
|
14
|
-
```javascript
|
15
|
-
$(function(){
|
16
|
-
$btn = $('#btn');
|
17
|
-
$btn.click(function(){
|
18
|
-
$.ajax({
|
19
|
-
type: 'POST',
|
20
|
-
url: 'https://api.us.onelogin.com/auth/oauth2/token',
|
21
|
-
dataType: 'json',
|
22
|
-
headers: {
|
23
|
-
'content-type': 'application/json',
|
24
|
-
'authorization': 'client_id: XXX, client_secret: YYY,',
|
25
|
-
},
|
26
|
-
data: {
|
27
|
-
"grant_type": "client_credentials"
|
28
|
-
},
|
29
|
-
statusCode: {
|
30
|
-
404: function(){console.log('404');},
|
31
|
-
200: function(){console.log('200');}
|
32
|
-
}
|
33
|
-
}).done(function(response){
|
34
|
-
console.log(response);
|
35
|
-
});
|
36
|
-
});
|
37
|
-
```
|
38
15
|
|
16
|
+
> 「アクセス主体」には、ブラウザを用いないアプリケーションプログラムが想定される。
|
17
|
+
|
18
|
+
などと説明されていました。
|
19
|
+
|
20
|
+
WEBアプリケーション単体でこのトークン生成が可能なのか、**client credentials**の認識があっているのか
|
21
|
+
OAuthに詳しい方がいましたら教えていただきたいです。
|
22
|
+
|
39
23
|
###補足情報
|
40
|
-
|
24
|
+
OneLogin 公式APIドキュメント
|
41
|
-
トークン生成
|
42
|
-
https://developers.onelogin.com/api-docs/1
|
25
|
+
https://developers.onelogin.com/api-docs/1
|
26
|
+
|
27
|
+
参考 OAuth 2.0 の仕様を読むために
|
28
|
+
http://qiita.com/awakia/items/66975de18ba25f18a961
|
29
|
+
|
30
|
+
参考 第8章 マッシュアップセキュリティトークンとOAuth 2.0
|
31
|
+
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/709.html
|