-
Notifications
You must be signed in to change notification settings - Fork 0
/
openapi_public.yaml
14247 lines (13618 loc) · 477 KB
/
openapi_public.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
openapi: 3.0.3
info:
title: intdash API specification
version: v2.4.0-next-4a4316946
contact:
name: 株式会社アプトポッド
url: https://www.aptpod.co.jp/
email: VM2M-support@aptpod.co.jp
description: >-
## ベースURL
ベースURLは以下のとおりです。APIエンドポイントはこのベースURLから始まります。
```
https://<host>/api
```
エンドポイント例:
```
https://example.intdash.jp/api/v1/measurements
https://example.intdash.jp/api/media/videos
```
## レスポンスのステータスコード
サーバーからクライアントに返却されるHTTPレスポンスのステータスコードは以下のとおりです。
| コード |
説明 |
|:--------------------------|:----------------------------------------------------------------------|
| 101 Switching Protocols |
サーバーはプロトコルを切り替えます。 |
| 200 OK |
リクエストは成功しました。 |
| 201 Created |
新しいリソースが作成されました。 |
| 204 No Content | リクエストは成功しました。返却するコンテンツはありません。 |
| 400 Bad Request | 構文が正しくないなどの理由により、リクエストは処理できませんでした。 |
| 401 Unauthorized |
リクエストには認証が必要です。 |
| 403 Forbidden | アクセス権がないなどの理由により、リクエストは拒否されました。 |
| 404 Not Found |
APIまたはリソースが見つかりません。 |
| 405 Method Not Allowed |
指定されたメソッドは許可されていません。 |
| 409 Conflict | 既存のリソースとのコンフリクトのため、リクエストは失敗しました。 |
| 500 Internal Server Error | サーバーで予期しないエラーが発生したため、リクエストは失敗しました。 |
## 注意
リクエストボディのJSONでは、キーの大文字と小文字は区別されません。 従って、以下の2つのリクエストは同じものと見なされます。
```
{
"username" : "username",
"password" : "password"
}
```
```
{
"Username" : "username",
"Password" : "password"
}
```
servers:
- url: https://example.intdash.jp/api
description: URLのサンプルです。
components:
securitySchemes:
BasicAuthForTenantAPI:
type: http
scheme: basic
description: |-
テナント管理APIを利用するためのベーシック認証です。サーバーに配置された設定ファイルに記述したユーザー情報を指定します。
詳細はサーバー管理者にお問い合わせ下さい。
IntdashToken:
type: apiKey
name: X-Intdash-Token
in: header
description: >-
APIトークンを使用する場合は、[トークンを作成](#operation/createAPIToken)し、そのトークンをX-Intdash-Tokenヘッダーにセットします。
```
X-Intdash-Token: XXXXXX...XXXXXX
```
OAuth2:
type: oauth2
flows:
password:
tokenUrl: /api/auth/oauth2/token
refreshUrl: /api/auth/oauth2/token
scopes:
<scopes>: OAuth2のスコープ(権限を制御するために使用される、サーバーによって決められた文字列)
clientCredentials:
tokenUrl: /api/auth/oauth2/token
scopes:
<scopes>: OAuth2のスコープ(権限を制御するために使用される、サーバーによって決められた文字列)
authorizationCode:
authorizationUrl: /api/auth/oauth2/authorization
tokenUrl: /api/auth/oauth2/token
refreshUrl: /api/auth/oauth2/token
scopes:
<scopes>: OAuth2のスコープ(権限を制御するために使用される、サーバーによって決められた文字列)
description: >-
OAuth2のトークン交換を使用することができます。取得したトークンは、以下の `OAuth2TokenInHeader` か
`OAuth2TokenInCookie` で利用します。
OAuth2TokenInHeader:
type: http
scheme: bearer
bearerFormat: JWT
description: |-
OAuth2で取得したトークンを `Bearer` トークンとして利用します。
```
Authrization: Bearer xxx...
```
OAuth2TokenInCookie:
type: apiKey
in: cookie
name: _bearer_token
description: |-
**アクセストークン(JSON Web Token)**
OAuth2を使って取得したトークンを、`_bearer_token` という名前でCookieにセットします。
リクエストヘッダーは以下のようになります:
```
Cookie: _bearer_token=eyJhbGci...
```
parameters:
QueryPage:
in: query
name: page
description: 取得するページの番号
schema:
type: integer
default: 1
minimum: 1
QueryPerPage:
in: query
name: per_page
description: 1回のリクエストで取得する件数
schema:
type: integer
maximum: 200
default: 30
PathClientID:
name: client_id
required: true
in: path
description: OAuth2クライアントID
example: 039b8ee2-8edc-46e4-9a88-4d03bac142f7
schema:
type: string
PathEdgeUUID:
in: path
name: edge_uuid
required: true
example: e920a50c-ddde-4571-b066-b568340de7cf
description: エッジのUUID
schema:
type: string
QueryOAuth2ClientID:
name: client_id
in: query
description: OAuth2クライアントID
required: true
example: client_id
schema:
type: string
QueryOAuth2ResponseType:
name: response_type
in: query
description: OAuth2のresponse_type。 `code` のみサポートされています。
example: code
required: true
schema:
enum:
- code
type: string
QueryOAuth2RedirectURI:
name: redirect_uri
in: query
description: 認可後のリダイレクト先URI
example: http://localhost:8080/
required: true
schema:
type: string
QueryOAuth2State:
name: state
in: query
description: CSRF対策のためのstate
example: 05d54c58385046dd822d233c6adfb9e9
required: true
schema:
type: string
QueryOAuth2CodeChallenge:
name: code_challenge
in: query
description: PKCEコードチャレンジ。 `code_verifier` から計算したSHA-256ハッシュを、Base64 URLエンコードしたもの。
required: false
example: ZtNPunH49FD35FWYhT5Tv8I7vRKQJ8uxMaL0_9eHjNA
schema:
type: string
QueryOAuth2CodeChallengeMethod:
name: code_challenge_method
in: query
description: PKCEコードチャレンジの方式。 `S256` (SHA-256)のみサポートされます。
example: S256
schema:
type: string
enum:
- S256
PathUserEmailID:
in: path
name: user_email_id
description: ユーザーのメールアドレスのID
required: true
example: 1
schema:
type: integer
format: int64
example: 1
UserAPITokenID:
in: path
name: user_api_token_id
description: APIトークンのID
required: true
example: 1
schema:
type: integer
format: int64
example: 1
QueryProjectSort:
name: sort
in: query
description: >-
並べ替えに使用するキー。接尾辞 `+` を付けた場合は昇順、 `-` を付けた場合は降順で出力されます。 接尾辞を省略した場合は昇順となります。
例えば、 `name-` を指定すると、nameによる降順で出力されます。
schema:
type: string
enum:
- created_at
- created_at+
- created_at-
- updated_at
- updated_at+
- updated_at-
- name
- name+
- name-
x-enum-varnames:
- CreatedAt
- CreatedAtAsc
- CreatedAtDesc
- UpdatedAt
- UpdatedAtAsc
- UpdatedAtDesc
- Name
- NameAsc
- NameDesc
QueryGroupSort:
name: sort
in: query
description: >-
並べ替えに使用するキー。接尾辞 `+` を付けた場合は昇順、 `-` を付けた場合は降順で出力されます。 接尾辞を省略した場合は昇順となります。
例えば、 `name-` を指定すると、nameによる降順で出力されます。
schema:
type: string
enum:
- created_at
- created_at+
- created_at-
- updated_at
- updated_at+
- updated_at-
- name
- name+
- name-
x-enum-varnames:
- CreatedAt
- CreatedAtAsc
- CreatedAtDesc
- UpdatedAt
- UpdatedAtAsc
- UpdatedAtDesc
- Name
- NameAsc
- NameDesc
PathUserUUID:
in: path
name: user_uuid
required: true
example: 0932ff17-567c-4ac8-a40d-136357890f7b
schema:
type: string
description: ユーザーのUUID
example: 0932ff17-567c-4ac8-a40d-136357890f7b
PathRoleUUID:
in: path
name: role_uuid
required: true
example: 6b4f4bce-ba32-4ad9-b808-39e2d68b33ee
description: ロールのUUID
schema:
type: string
PathGroupUUID:
in: path
name: group_uuid
required: true
example: 6b4f4bce-ba32-4ad9-b808-39e2d68b33ee
description: グループのUUID
schema:
type: string
QueryIsOwner:
in: query
name: is_owner
example: false
description: |-
* `true` を指定した場合、オーナーのみを取得します。
* `false` を指定した場合、オーナー以外を取得します。
* 指定を省略した場合、オーナーであるかにかかわらずメンバーを取得します。
schema:
type: boolean
QueryUserUUIDs:
in: query
name: user_uuid
description: ユーザーのUUID
schema:
type: array
items:
type: string
example: b7f5f259-6a63-4a26-bfa3-e15240cbc0b7
QueryGroupMemberSort:
name: sort
in: query
description: >-
並べ替えに使用するキー。接尾辞 `+` を付けた場合は昇順、 `-` を付けた場合は降順で出力されます。 接尾辞を省略した場合は昇順となります。
例えば、 `name-` を指定すると、nameによる降順で出力されます。
schema:
type: string
enum:
- created_at
- created_at+
- created_at-
- updated_at
- updated_at+
- updated_at-
- name
- name+
- name-
x-enum-varnames:
- CreatedAt
- CreatedAtAsc
- CreatedAtDesc
- UpdatedAt
- UpdatedAtAsc
- UpdatedAtDesc
- Name
- NameAsc
- NameDesc
QuerySinceCreatedAt:
name: since_created_at
in: query
description: 指定した時刻より後に作成されたリソースを取得します。
example: '2006-01-02T15:04:05.999999999Z'
schema:
type: string
format: date-time
PathProjectUUID:
in: path
name: project_uuid
required: true
example: 0932ff17-567c-4ac8-a40d-136357890f7b
description: プロジェクトのUUID
schema:
type: string
QueryEdgeUUIDs:
in: query
name: edge_uuid
description: エッジのUUID
schema:
type: array
items:
type: string
example: b7f5f259-6a63-4a26-bfa3-e15240cbc0b7
QueryProjectEdgeSort:
name: sort
in: query
description: >-
並べ替えに使用するキー。接尾辞 `+` を付けた場合は昇順、 `-` を付けた場合は降順で出力されます。 接尾辞を省略した場合は昇順となります。
例えば、 `name-` を指定すると、nameによる降順で出力されます。
schema:
type: string
enum:
- created_at
- created_at+
- created_at-
- updated_at
- updated_at+
- updated_at-
- nickname
- nickname+
- nickname-
x-enum-varnames:
- CreatedAt
- CreatedAtAsc
- CreatedAtDesc
- UpdatedAt
- UpdatedAtAsc
- UpdatedAtDesc
- NicknameAt
- NicknameAtAsc
- NicknameAtDesc
QueryProjectMemberSort:
name: sort
in: query
description: >-
並べ替えに使用するキー。接尾辞 `+` を付けた場合は昇順、 `-` を付けた場合は降順で出力されます。 接尾辞を省略した場合は昇順となります。
例えば、 `name-` を指定すると、nameによる降順で出力されます。
schema:
type: string
enum:
- created_at
- created_at+
- created_at-
- updated_at
- updated_at+
- updated_at-
- name
- name+
- name-
x-enum-varnames:
- CreatedAt
- CreatedAtAsc
- CreatedAtDesc
- UpdatedAt
- UpdatedAtAsc
- UpdatedAtDesc
- Name
- NameAsc
- NameDesc
PathScopeUUID:
in: path
name: scope_uuid
required: true
example: 4688a07a-0cbc-4597-8c87-538e744bc90d
description: The Scope UUID.
schema:
type: string
BrokerPathProjectUUID:
name: project_uuid
in: path
description: プロジェクトのUUID
required: true
example: c78ce0c1-eb57-4f93-a087-ee3b7cee5e06
schema:
type: string
DataPointsTargetName:
description: >-
どの計測またはどのエッジのデータポイントを取得するかを、以下のいずれかを使って指定します:
- 計測UUID
- エッジUUID
- エッジの名前
最初に、指定されたnameに一致する計測UUIDがあるかが検索されます。なければ一致するエッジUUIDがあるかが検索され、それもなければ一致するエッジの名前があるかが検索されます。
example: 8f40b21c-f2c4-4fa5-8fe3-325491a59597
in: query
name: name
required: true
schema:
type: string
DataPointsStart:
description: |-
取得対象範囲の始点。以下のいずれかの形式で指定します。
- rfc3339(ex 2019-10-29T03:04:05.341268Z)
- UNIX時刻(マイクロ秒)(**Deprecated**)
example: '2019-10-29T03:04:05.123456Z'
in: query
name: start
required: false
schema:
type: string
DataPointsEnd:
description: |-
取得対象範囲の終点。以下のいずれかの形式で指定します。
- rfc3339(ex 2019-10-29T03:04:05.341268Z)
- UNIX時刻(マイクロ秒)(**Deprecated**)
example: '2019-10-29T03:04:05.234567Z'
in: query
name: end
required: false
schema:
type: string
QueryLabel:
name: label
in: query
description: 信号定義のラベル
required: false
example: label
schema:
type: array
items:
type: string
QueryPeriod:
name: period
in: query
description: |-
データポイントを指定した間隔(マイクロ秒)に間引きます。( **Experimental** )
指定された間隔ごとに最新のデータポイントを残し、それ以外を除去します。 また、指定された間隔になるようにデータポイントの時刻を揃えます。
```
--1--2----3---4--5---6-7--89-a---b-c---d--e--> period指定なし
| | | | | | | |
| | | | | | | |
2-----3-----5-----7-----a-----c-----d-----e--> period指定あり
|<--->| period
```
required: false
example: 10000
schema:
type: integer
format: int64
QueryStart:
name: start
in: query
description: 取得対象範囲の始点(マイクロ秒単位のUNIX時刻)
required: false
example: 1505797626000000
schema:
type: integer
format: int64
QueryEnd:
name: end
in: query
description: 取得対象範囲の終点(マイクロ秒単位のUNIX時刻)
required: false
example: 1505798226123456
schema:
type: integer
format: int64
QueryEdgeUUID:
name: edge_uuid
in: query
description: エッジのUUID
required: false
example: 24dbdc29-165f-4919-b2ce-7a335282bde2
schema:
type: string
pathMeasUUID:
name: measurement_uuid
in: path
description: 計測のUUID
required: true
example: 2cc7de37-6f71-4458-887e-10e618a6fcfb
schema:
type: string
page:
name: page
in: query
description: 取得するページの番号
required: false
example: 1
schema:
type: integer
format: int32
order:
name: order
in: query
description: 並べ替えの順序
required: false
example: asc
schema:
type: string
enum:
- asc
- desc
pathMeasBaseTimeType:
name: type
in: path
description: 基準時刻のタイプ
required: true
example: ntp
schema:
type: string
enum:
- edge_rtc
- ntp
- gps
- api_first_received
- volatile
- manual
limit:
name: limit
in: query
description: 1回のリクエストで取得する件数
example: 1000
schema:
type: integer
format: int32
PathMeasSequenceGroupUUID:
name: sequences_uuid
in: path
description: 計測シーケンスのUUID
required: true
example: 0b849907-9f04-4c87-b176-b73fb527e935
schema:
type: string
PathMeasurementJobUUID:
name: job_uuid
in: path
description: ジョブのUUID
required: true
example: ddba7729-3a53-42bb-a4cf-6d19a3e66deb
schema:
type: string
QueryTag:
name: tag.<key>
in: query
description: >-
タグのキーと値を使って条件を指定し、条件に一致する計測マーカーを取得します。
キーのみを指定した場合は、指定されたキーを持つ計測マーカーを取得します。
キーと値を指定した場合は、指定されたキーを持ち、その値として指定された値を含む計測マーカーを取得します。
`tag.<key>=<value>` 条件は複数個指定することができ、OR条件で使用されます。 ただし `!tag.<key>`
と組み合わせた場合、 `!tag.<key>` が優先されます。
例:
| measurement marker | tag (key: value) |
| ------------------ | ---------------- |
| 1 | a: value1 |
| | c: value2 |
| | e: 1 |
| 2 | a: b |
| | c: d |
| 3 | a: b |
- `?tag.e=` の場合、計測マーカー1番が取得されます。
- `?!tag.c=` の場合、計測マーカー3番が取得されます。
- `?tag.a=&!tag.e=` の場合、計測マーカー2、3番が取得されます。
- `?tag.a=val&tag.c=d` の場合、計測マーカー1、2番が取得されます。
required: false
example: include_tag_value
schema:
type: array
items:
type: string
QueryNotTag:
name: '!tag.<key>'
in: query
description: >-
タグのキーを使って条件を指定し、条件に一致する計測キャプチャを除外します。
タグの値は無視されます。
`!tag.<key>` を複数個指定した場合、AND条件となります。 また、 `tag.<key>=<value>`
と組み合わせて使用した場合、 `tag.<key>=<value>` よりも `!tag.<key>` が優先されます。
例: 上の `tag.<key>` の説明を参照してください。
required: false
example: exclude_tag_value
schema:
type: array
items:
type: string
PathMeasurementMarkerUUID:
name: measurement_marker_uuid
in: path
description: 計測マーカーのUUID
required: true
example: 27a841d8-78c0-4e5e-b0ee-ec1fafd90ef6
schema:
type: string
MeasPathProjectUUID:
name: project_uuid
in: path
description: プロジェクトのUUID
required: true
example: 75c55669-b2ab-4f14-a871-8571c6afa1ef
schema:
type: string
QueryLimitMedia:
name: limit
in: query
description: 1回のリクエストで取得する件数
example: 1000
schema:
type: number
QueryPageMedia:
in: query
name: page
description: 取得するページ番号
schema:
type: integer
default: 1
minimum: 1
QueryOrderMedia:
name: order
in: query
description: 並べ替えの順序
required: false
example: asc
schema:
type: string
enum:
- asc
- desc
PathMeasUUIDMedia:
in: path
name: meas_uuid
description: 計測のUUID
required: true
example: f967c530-f562-410a-991b-031c43142778
schema:
type: string
example: f967c530-f562-410a-991b-031c43142778
PathChannelMedia:
in: path
name: channel
description: チャンネル
required: true
example: 1
schema:
type: integer
example: 1
QueryPerPageMedia:
in: query
name: per_page
description: 1回のリクエストで取得する件数
schema:
type: integer
maximum: 1000
default: 100
PathVideoUUID:
in: path
name: video_uuid
required: true
description: 変換元の動画(video)のUUID
example: 68b91013-47e9-4e68-a965-892549587dfa
schema:
type: string
PathJpegUUID:
in: path
name: jpeg_uuid
required: true
description: JPEGのUUID
example: 3279bdfb-9079-417e-8f94-ee8126da5933
schema:
type: string
example: 3279bdfb-9079-417e-8f94-ee8126da5933
PathMP4UUID:
in: path
name: mp4_uuid
required: true
description: MP4のUUID
example: 34cd9cc6-4c62-4310-bbfd-04541f59ca0f
schema:
type: string
example: 34cd9cc6-4c62-4310-bbfd-04541f59ca0f
PathEdgeUUIDMedia:
in: path
name: edge_uuid
description: エッジのUUID
required: true
example: 421fecd4-646b-4ab8-a715-c4b888964b11
schema:
type: string
example: 421fecd4-646b-4ab8-a715-c4b888964b11
MediaPathProjectUUID:
name: project_uuid
in: path
description: プロジェクトのUUID
required: true
example: 75c55669-b2ab-4f14-a871-8571c6afa1ef
schema:
type: string
schemas:
OAuth2ClientGrantType:
type: string
description: グラントタイプ
enum:
- authorization_code
- client_credentials
- refresh_token
OAuth2ClientResponseType:
type: string
description: グラントタイプ
enum:
- code
OAuth2Client:
type: object
properties:
client_id:
type: string
description: OAuth2クライアントID
example: 4b54d475-0607-441e-b252-944a97337a9e
name:
type: string
description: 名前
example: My Client
grant_types:
type: array
description: グラントタイプ
items:
$ref: '#/components/schemas/OAuth2ClientGrantType'
token_endpoint_auth_method:
type: string
description: トークンエンドポイントの認証方式
enum:
- none
- client_secret_post
- client_secret_basic
- tls_client_auth
redirect_uris:
type: array
description: 認可後のリダイレクト先URI
items:
type: string
example: http://localhost:8080/
response_types:
type: array
description: レスポンスタイプ
items:
$ref: '#/components/schemas/OAuth2ClientResponseType'
scopes:
type: array
description: スコープ
items:
type: string
example: meas:r
audiences:
type: array
description: オーディエンス
items:
type: string
example: audiences
tls_client_auth_subject_dn:
type: string
description: TLSクライアント認証のサブジェクトDN
example: >-
SERIALNUMBER=0001,CN=CommonName,OU=OrganizationalUnit,O=Organization,POSTALCODE=PostalCode,STREET=StreetAddress,L=Locality,ST=Province,C=COUNTRY
required:
- client_id
- name
- type
- grant_types
- token_endpoint_auth_method
- redirect_uris
- response_types
- scopes
- audiences
- tls_client_auth_subject_dn
AuthPage:
type: object
required:
- next
- prev
- total_page
- total_count
properties:
next:
type: boolean
description: 次のページがあるかどうか
example: true
prev:
type: boolean
description: 前のページがあるかどうか
example: true
next_page:
type: integer
format: int64
description: 取得対象の次のページ番号。`next` がtrueの場合のみ表示。
example: 1
prev_page:
type: integer
format: int64
description: 取得対象の前のページ番号。`next` がtrueの場合のみ表示。
example: 1
total_page:
type: integer
format: int64
description: 取得対象の総ページ数
example: 1
total_count:
type: integer
format: int64
description: 取得対象の総件数
example: 1
OAuth2Clients:
type: object
title: Roles
required:
- items
- page
properties:
items:
type: array
items:
$ref: '#/components/schemas/OAuth2Client'
page:
$ref: '#/components/schemas/AuthPage'
CheckHTTPAuthorizationRequest:
title: CheckAuthorizationRequest
type: object
description: >-
アクセス制御可能かどうかを判定します。
### サブジェクト指定なしの場合
リクエストのスコープのみでアクセス判定を行います。
### サブジェクト指定ありの場合
パスを分類し、分類した結果によって処理が変わります。
#### パスがプロジェクトコンテキストの場合
サブジェクトがプロジェクトに所属しているかを確認し、所属している場合は、サブジェクトがメンバーの場合そのプロジェクトにおけるスコープからアクセス判定を行います。サブジェクトがエッジの場合はリクエストのスコープからアクセス判定を行います。
### パスがグループコンテキストの場合
サブジェクトがプロジェクトに所属しているかを確認し、所属している場合は、そのプロジェクトにおけるスコープからアクセス判定を行います。
### パスがその他の場合
リクエストのスコープからアクセス判定を行います。
required:
- scopes
- path
- method
properties:
subject:
type: string
example: eb0398f0-3631-470a-abed-0ac3763cf90d
description: 認証主体を指定します。通常アクセスユーザーのUUIDかアクセスエッジのUUIDを指定します。
scopes:
type: array
example:
- scope1
items:
type: string
description: スコープを指定します。前述の説明を参照ください。
path:
type: string
example: /resource/path