-
Notifications
You must be signed in to change notification settings - Fork 2
/
openid-connect-core-1_0.xml
13212 lines (12108 loc) · 648 KB
/
openid-connect-core-1_0.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='http://xml.resource.org/authoring/rfc2629.xslt' ?>
<!DOCTYPE rfc PUBLIC "-//IETF//DTD RFC 2629//EN"
"http://xml.resource.org/authoring/rfc2629.dtd">
<rfc category="std" docName="openid-connect-core-1_0" ipr="trust200902">
<?rfc toc="yes" ?>
<?rfc tocdepth="5" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc strict="yes" ?>
<?rfc iprnotified="no" ?>
<?rfc private="Draft" ?>
<front>
<title abbrev="OpenID Connect Core 1.0">OpenID Connect Core 1.0 - draft 17</title>
<author fullname="Nat Sakimura" initials="N." surname="Sakimura">
<organization abbrev="NRI">Nomura Research Institute, Ltd.</organization>
<address>
<email>n-sakimura@nri.co.jp</email>
<uri>http://nat.sakimura.org/</uri>
</address>
</author>
<author fullname="John Bradley" initials="J." surname="Bradley">
<organization abbrev="Ping Identity">Ping Identity</organization>
<address>
<email>ve7jtb@ve7jtb.com</email>
<uri>http://www.thread-safe.com/</uri>
</address>
</author>
<author fullname="Michael B. Jones" initials="M.B." surname="Jones">
<organization abbrev="Microsoft">Microsoft</organization>
<address>
<email>mbj@microsoft.com</email>
<uri>http://self-issued.info/</uri>
</address>
</author>
<author fullname="Breno de Medeiros" initials="B." surname="de Medeiros">
<organization abbrev="Google">Google</organization>
<address>
<email>breno@google.com</email>
<uri>http://stackoverflow.com/users/311376/breno</uri>
</address>
</author>
<author fullname="Chuck Mortimore" initials="C." surname="Mortimore">
<organization abbrev="Salesforce">Salesforce</organization>
<address>
<email>cmortimore@salesforce.com</email>
<uri>https://twitter.com/cmort</uri>
</address>
</author>
<date day="3" month="February" year="2014" />
<workgroup>OpenID Connect Working Group</workgroup>
<abstract>
<t>
OpenID Connect 1.0 は, OAuth 2.0 プロトコルの上にシンプルなアイデンティティレイヤーを付与したものである.
このプロトコルは Client が Authorization Server の認証結果に基づいて End-User のアイデンティティを検証可能にする.
また同時に End-User の必要最低限のプロフィール情報を, 相互運用可能かつ RESTful な形で取得することも可能にする.
</t>
<!--
<t>OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0
protocol. It enables Clients to verify the identity of the End-User based
on the authentication performed by an Authorization Server, as well as to
obtain basic profile information about the End-User in an interoperable and
REST-like manner.</t>
-->
<t>
この仕様は, OpenID Connect の主要な機能である OAuth 2.0 上で End-User の情報伝達のためにクレームを用いる認証機能 を定義する.
この仕様はまた, OpenID Connect を利用するための Security, Privacy Considerations を説明する.
</t>
<!--
<t>
This specification defines
the core OpenID Connect functionality:
authentication built on top of OAuth 2.0 and
the use of Claims to communicate information about the End-User.
It also describes the security and privacy considerations for using OpenID Connect.
</t>
-->
</abstract>
</front>
<middle>
<section anchor='Introduction' title='Introduction'>
<t>
OpenID Connect 1.0 は, OAuth 2.0 <xref target="RFC6749"/> プロトコルの上にシンプルなアイデンティティレイヤーを付与したものである.
このプロトコルは Client が Authorization Server の認証結果に基づいて End-User のアイデンティティを検証可能にする.
また同時に End-User の必要最低限のプロフィール情報を, 相互運用可能かつ RESTful な形で取得することも可能にする.
</t>
<!--
<t>
OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0
<xref target="RFC6749"/>
protocol. It enables Clients to verify the identity of the End-User based
on the authentication performed by an Authorization Server, as well as to
obtain basic profile information about the End-User in an interoperable and
REST-like manner.
</t>
-->
<t>
OpenID Connect Core 1.0 仕様は, OpenID Connect の主要な機能である OAuth 2.0 上で End-User の情報伝達のためにクレームを用いる認証機能 を定義する.
この仕様はまた, OpenID Connect を利用するための Security, Privacy Considerations を説明する.
</t>
<!--
<t>
The OpenID Connect Core 1.0 specification defines
the core OpenID Connect functionality:
authentication built on top of OAuth 2.0 and
the use of Claims to communicate information about the End-User.
It also describes the security and privacy considerations for using OpenID Connect.
</t>
-->
<t>
OpenID Connect のベースとなる <xref target="RFC6749">OAuth 2.0 Authorization Framework</xref> と <xref target="RFC6750">OAuth 2.0 Bearer Token Usage</xref> は, 3rd-party アプリケーションが HTTP リソースへの制限付きアクセス権を取得および行使するための全般的フレームワークを提供している.
これらはリソースアクセスのための Access Token を取得および行使する方法は定義するが, アイデンティティ情報を提供するための標準的手段は定義しない.
とりわけ, OAuth 2.0 のプロファイリングを行わずに End-User の認証に必要な情報を提供することは不可能である.
本ドキュメント読者は上記2つの仕様を理解していることが期待される.
</t>
<!--
<t>
As background,
the <xref target="RFC6749">OAuth 2.0 Authorization Framework</xref>
and <xref target="RFC6750">OAuth 2.0 Bearer Token Usage</xref>
specifications provide a general framework for third-party applications
to obtain and use limited access to HTTP resources. They define
mechanisms to obtain and use Access Tokens to access resources but
do not define standard methods to provide identity information.
Notably, without profiling OAuth 2.0, it is incapable of
providing information about the authentication of an End-User.
Readers are expected to be familiar with these specifications.
</t>
-->
<t>
OpenID Connect は OAuth 2.0 認可プロセスを拡張し, 認証目的で利用できるようにする.
本拡張を利用する場合, Client は <spanx style="verb">openid</spanx> scope を指定して Authorization Request を送信する.
認証結果は ID Token (<xref target="IDToken"/> 参照) と呼ばれる <xref target="JWT">JSON Web Token (JWT)</xref> として返される.
OpenID Connect をサポートする OAuth 2.0 Authentication Server は, OpenID Provider (OP) とも呼ばれる.
OpenID Connect を利用する OAuth 2.0 Client は Relying Party (RP) とも呼ばれる.
</t>
<!--
<t>
OpenID Connect implements authentication as an extension to the
OAuth 2.0 authorization process.
Use of this extension is requested by Clients by including
the <spanx style="verb">openid</spanx> scope value
in the Authorization Request.
Information about the authentication performed is returned
in a <xref target="JWT">JSON Web Token (JWT)</xref>
called an ID Token (see <xref target="IDToken"/>).
OAuth 2.0 Authentication Servers implementing OpenID Connect
are also referred to as OpenID Providers (OPs).
OAuth 2.0 Clients using OpenID Connect
are also referred to as Relying Parties (RPs).
</t>
-->
<t>
本ドキュメントでは, Relying Party は既に Authorization Endpoint, Token Endpoint 等を含む OpenID Provider の設定情報を既に得ているものとする.
これらの情報は通常 <xref target="OpenID.Discovery">OpenID Connect Discovery 1.0</xref> にある Discovery を通じて得られるが, その他の手段で得られることもある.
</t>
<!--
<t>
This specification assumes that the Relying Party has already obtained
configuration information about the OpenID Provider, including its
Authorization Endpoint and Token Endpoint locations.
This information is normally obtained via Discovery,
as described in <xref target="OpenID.Discovery">OpenID Connect Discovery 1.0</xref>,
or may be obtained via other mechanisms.
</t>
-->
<t>
また同様に, Relying Party は OpenID Provider 利用に必要なクレデンシャルを取得し, OP 利用に必要な情報を登録しているものとする.
これの処理は通常 <xref target="OpenID.Registration">OpenID Connect Dynamic Client Registration 1.0</xref> にある Dynamic Registration を通じて行われるが, その他の手段で行われることもある.
</t>
<!--
<t>
Likewise, this specification assumes that the Relying Party has already obtained
sufficient credentials and provided information needed to use the OpenID Provider.
This is normally done via Dynamic Registration,
as described in
<xref target="OpenID.Registration">OpenID Connect Dynamic Client Registration 1.0</xref>,
or may be obtained via other mechanisms.
</t>
-->
<section anchor="rnc" title="Requirements Notation and Conventions">
<t>
本ドキュメント中の "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" の意味するところは, <xref target="RFC2119"/> の定める通りである.
</t>
<!--
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119">RFC 2119</xref>.</t>
-->
<t>
本ドキュメントの .txt バージョンでは, 表記そのままで利用される値についてはクオートで囲んでいる.
このような値をプロトコルメッセージ中で用いる場合, クオートを含めてはならない (MUST NOT).
HTML バージョンではクオートで囲う代わりに <spanx style="verb">this fixed-width font</spanx> を用いる.
</t>
<!--
<t>
In the .txt version of this document,
values are quoted to indicate that they are to be taken literally.
When using these values in protocol messages,
the quotes MUST NOT be used as part of the value.
In the HTML version of this document,
values to be taken literally are indicated by
the use of <spanx style="verb">this fixed-width font</spanx>.
</t>
-->
<t>
<xref target="JWS">JSON Web Signature (JWS)</xref> と <xref target="JWE">JSON Web Encryption (JWE)</xref> を用いる場合, シリアライゼーションには JWS Compact Serialization と JWE Compact Serialization を用いる.
JWS JSON Serialization と JWE JSON Serialization は利用しない.
</t>
<!--
<t>
All uses of <xref target="JWS">JSON Web Signature (JWS)</xref>
and <xref target="JWE">JSON Web Encryption (JWE)</xref>
data structures in this specification utilize
the JWS Compact Serialization or the JWE Compact Serialization;
the JWS JSON Serialization and the JWE JSON Serialization are not used.
</t>
-->
</section>
<section anchor="Terminology" title="Terminology">
<t>
本ドキュメントでは,
<xref target="RFC6749">OAuth 2.0</xref> で定義された "Access Token", "Authorization Code",
"Authorization Endpoint", "Authorization Grant", "Authorization Server",
"Client", "Client Authentication", "Client Identifier", "Client Secret",
"Grant Type", "Protected Resource", "Redirection URI", "Refresh Token",
"Resource Owner", "Resource Server", "Response Type", および "Token Endpoint",
<xref target="JWT">JSON Web Token (JWT)</xref> で定義された "Claim Name", "Claim Value", "JSON Web Token (JWT)", および "Nested JWT" ,
<xref target="RFC2616">RFC 2616</xref> で定義された "User Agent",
<xref target="OAuth.Responses">OAuth 2.0 Multiple Response Type Encoding Practices</xref> で定義された "Response Mode" という用語を用いる.
</t>
<!--
<t>
This specification uses the terms "Access Token", "Authorization Code",
"Authorization Endpoint", "Authorization Grant", "Authorization Server",
"Client", "Client Authentication", "Client Identifier", "Client Secret",
"Grant Type", "Protected Resource", "Redirection URI", "Refresh Token",
"Resource Owner", "Resource Server", "Response Type", and "Token Endpoint"
defined by <xref target="RFC6749">OAuth 2.0</xref>,
the terms "Claim Name", "Claim Value", "JSON Web Token (JWT)", and "Nested JWT"
defined by <xref target="JWT">JSON Web Token (JWT)</xref>,
the term "User Agent" defined by <xref target="RFC2616">RFC 2616</xref>,
and the term "Response Mode" defined by
<xref target="OAuth.Responses">OAuth 2.0 Multiple Response Type Encoding Practices</xref>.
</t>
-->
<t>
本ドキュメントはその他に以下の用語を用いる.
<!--
This specification also defines the following terms:
-->
<list style="hanging">
<t hangText="Authentication">
提示された Identity と実際の Entity が紐づいていることを確認するプロセス.
<!--
Process used to achieve sufficient confidence in the binding
between the Entity and the presented Identity.
-->
</t>
<t hangText="Authentication Request">
OpenID Connect が定める拡張パラメータおよびスコープを利用して, Authorization Server に End-User の認証を要求する OAuth 2.0 Authorization Request.
このとき Authorization Server は OpenID Connect Provider, Client は OpenID Connect Relying Party となる.
<!--
OAuth 2.0 Authorization Request using extension parameters and scopes
defined by OpenID Connect to request that the End-User be authenticated
by the Authorization Server, which is an OpenID Connect Provider,
to the Client, which is an OpenID Connect Relying Party.
-->
</t>
<t hangText="Authentication Context">
認証応答に関する意思決定を行う前に Relying Party が要求できる情報.
そのようなコンテキストは実際に用いられた認証方式や <xref target="ISO29115">ISO/IEC 29115</xref> entity authentication assurance level のような保障レベルを含むが, これに限定されるものではない.
<!--
Information that the Relying Party can require before it makes an
entitlement decision with respect to an authentication response.
Such context can include, but is not limited to, the actual
authentication method used or level of assurance such as
<xref target="ISO29115">ISO/IEC 29115</xref>
entity authentication assurance level.
-->
</t>
<t hangText="Authentication Context Class">
特定のコンテキストで互いに等しいと考えられる認証方式もしくは手続きの集合.
<!--
Set of authentication methods or procedures that are considered
to be equivalent to each other in a particular context.
-->
</t>
<t hangText="Authentication Context Class Reference">
Authentication Context Class の識別子.
<!--
Identifier for an Authentication Context Class.
-->
</t>
<t hangText="Authorization Code Flow">
Authorization Code が Authorization Endpoint から返され, 全てのトークンが Token Endpoint から返されるOAuth 2.0 のフロー.
<!--
OAuth 2.0 flow in which
an Authorization Code is returned from the Authorization Endpoint and
all tokens are returned from the Token Endpoint.
-->
</t>
<t hangText="Authorization Request">
<xref target="RFC6749"/> にて定義された OAuth 2.0 Authorization Request.
<!--
OAuth 2.0 Authorization Request as defined by <xref target="RFC6749"/>.
-->
</t>
<t hangText="Claim">
Entity に関する情報の部分集合.
<!--
Piece of information asserted about an Entity.
-->
</t>
<t hangText="Claim Type">
Claim の値を表現する構文.
本仕様では Normal, Aggregated, および Distributed という Claim Type を定義する.
<!--
Syntax used for representing a Claim Value.
This specification defines Normal, Aggregated, and Distributed Claim Types.
-->
</t>
<t hangText="Claims Provider">
Entity の Claim を返すサーバー.
<!--
Server that can return Claims about an Entity.
-->
</t>
<t hangText="Credential">
Identity や他のリソースを使用する権利があることの証拠として提示されるデータ.
<!--
Data presented as evidence of the right to use an identity
or other resources.
-->
</t>
<t hangText="End-User">
一連のフローに参加する人間.
<!--
Human participant.
-->
</t>
<t hangText="Entity">
あるコンテキストの中で識別される, 他と独立した個.
End-User は Entity の一例.
<!--
Something that has a separate and distinct existence and that can be
identified in a context. An End-User is one example of an Entity.
-->
</t>
<t hangText="Essential Claim">
Client により指定される Claim.
End-User により要求された特定のタスクに対して円滑な認可処理を確保するために必要とされている.
<!--
Claim specified by the Client as being necessary to ensure a smooth
authorization experience for the specific task requested by the End-User.
-->
</t>
<t hangText="Hybrid Flow">
Authorization Code といくつかのトークンが Authorization Endpoint から返され, その他のトークンが Token Endpoint から返される OAuth 2.0 のフロー.
<!--
OAuth 2.0 flow in which
an Authorization Code is returned from the Authorization Endpoint,
some tokens are returned from the Authorization Endpoint,
and others are returned from the Token Endpoint.
-->
</t>
<t hangText="ID Token">
Authentication イベントに関する Claim を含む <xref target="JWT">JSON Web Token (JWT)</xref>.
その他の Claim を含むこともある (MAY).
<!--
<xref target="JWT">JSON Web Token (JWT)</xref> that contains Claims about the Authentication event.
It MAY contain other Claims.
-->
</t>
<t hangText="Identifier">
あるコンテキスト中で Entity をユニークに特徴づける値.
<!--
Value that uniquely characterizes an Entity in a specific context.
-->
</t>
<t hangText="Identity">
Entity に関する属性の集合.
<!--
Set of attributes related to an Entity.
-->
</t>
<t hangText="Implicit Flow">
全てのトークンが Authorization Endpoint から返され, Token Endpoint も Authorization Code も利用されない OAuth 2.0 のフロー.
<!--
OAuth 2.0 flow in which all tokens are returned from the Authorization Endpoint
and neither the Token Endpoint nor an Authorization Code are used.
-->
</t>
<t hangText="Issuer">
Claim の集合を発行する Entity.
<!--
Entity that issues a set of Claims.
-->
</t>
<t hangText="Issuer Identifier">
検証可能な Issuer の識別子.
Issuer Identifier は, 大文字小文字を区別する URL である.
この URL は <spanx style="verb">https</spanx> スキーム, ホスト, そして任意でポート番号およびパス要素からなり, クエリーとフラグメント要素は含まない.
<!--
Verifiable Identifier for an Issuer.
An Issuer Identifier is a case sensitive URL
using the <spanx style="verb">https</spanx> scheme that
contains scheme, host, and optionally, port number and path
components and no query or fragment components.
-->
</t>
<t hangText="Message">
OpenID Relying Party と OpenID Provider の間でやりとりされるリクエストもしくはレスポンス.
<!--
Request or a response between an OpenID
Relying Party and an OpenID Provider.
-->
</t>
<t hangText="OpenID Provider (OP)">
End-User を Authenticate できる OAuth 2.0 Authorization Server.
End-User の Authentication イベントに関する Claim を Relying Party に提供する.
<!--
OAuth 2.0 Authorization Server that is capable of
Authenticating the End-User and
providing Claims to a Relying Party
about the Authentication event and the End-User.
-->
</t>
<t hangText="Request Object">
Claim としてリクエストパラメータを含む JWT.
<!--
JWT that contains a set of request parameters as its Claims.
-->
</t>
<t hangText="Request URI">
Request Object を含むリソースを参照する URL.
Request URI のコンテンツは Authorization Server から取得可能でなければならない (MUST).
<!--
URL that references a resource containing a Request Object.
The Request URI contents MUST be retrievable by the
Authorization Server.
-->
</t>
<t hangText="Pairwise Pseudonymous Identifier (PPID)">
ある Relying Party に対してのみ, ある Entity の識別子として提供される値.
他の Relying Party には, 当該 PPID を当該 Entity と関連づけることはできない.
<!--
Identifier that identifies the Entity to a Relying Party that cannot be correlated
with the Entity's PPID at another Relying Party.
-->
</t>
<t hangText="Personally Identifiable Information (PII)">
特定の人物に紐づき, 実際の人物の識別に用いることができる情報.
もしくは特定の人物に直接および間接的にリンクされる可能性のある情報.
<!--
Information that (a) can be used to identify the natural person
to whom such information relates, or
(b) is or might be directly or indirectly linked to a
natural person to whom such information relates.
-->
</t>
<t hangText="Relying Party (RP)">
OpenID Provider に End-User Authentication と Claim を要求する OAuth 2.0 Client.
<!--
OAuth 2.0 Client application requiring End-User Authentication
and Claims from an OpenID Provider.
-->
</t>
<t hangText="Sector Identifier">
Relying Party により利用される URL のホスト要素.
Relying Party に対する Subject Identifier 計算の入力となる.
<!--
Host component of a URL used by the Relying Party's organization
that is an input to the computation of pairwise Subject Identifiers
for that Relying Party.
-->
</t>
<t hangText="Self-Issued OpenID Provider">
自己署名の ID Token を発行する, 個人的で self-hosted な OpenID Provider.
<!--
Personal, self-hosted OpenID Provider that issues self-signed ID Tokens.
-->
</t>
<t hangText="Subject Identifier">
Issuer にとって局地的にユニークで再利用されることのない End-User 識別子.
この値は Client に利用されることを想定する.
<!--
Locally unique and never
reassigned identifier within the Issuer for the End-User,
which is intended to be consumed by the Client.
-->
</t>
<t hangText="UserInfo Endpoint">
Protected Resource のひとつ.
Access Token を提示する Client に対して, Authorization Grant に従って End-User に関する情報を提供する.
URLは <spanx style="verb">https</spanx> scheme を利用しなければならず (MUST), ポート番号, パス, クエリパラメータの要素を含むことがある (MAY).
<!--
Protected Resource that, when presented with an Access Token by the Client,
returns authorized information about the End-User represented by the corresponding
Authorization Grant.
The UserInfo Endpoint
URL MUST use the <spanx style="verb">https</spanx> scheme and MAY contain
port, path, and query parameter components.
-->
</t>
<t hangText="Validation">
あるものごとの健全性および正当性を確立するためのプロセス.
<!--
Process intended to establish the soundness or correctness of a construct.
-->
</t>
<t hangText="Verification">
ある事実や値の正確さを検査もしくは証明するためのプロセス.
<!--
Process intended to test or prove the truth or accuracy of a fact or value.
-->
</t>
<t hangText="Voluntary Claim">
Client が End-User が要求するあるタスクを実行する際に, 有用ではあるが Essential ではないとを Client が指定した Claim.
<!--
Claim specified by the Client as being useful but not Essential
for the specific task requested by the End-User.
-->
</t>
</list>
</t>
<t>
IMPORTANT NOTE TO READERS:
上記の用語定義は本仕様が定めるところであり, 本仕様の実装においてはこれらの定義に従うこと.
"Issuer Identifier" をはじめとして, 本仕様で大文字表記されている用語はすべて上記の定義に従う.
仕様書読者は必ずこれらの用語定義に従うこと.
</t>
<!--
<t>
IMPORTANT NOTE TO READERS: The terminology definitions in
this section are a normative portion of this specification,
imposing requirements upon implementations. All the
capitalized words in the text of this specification, such as
"Issuer Identifier", reference these defined terms.
Whenever the reader encounters them, their definitions
found in this section must be followed.
</t>
-->
<t>
利用される用語の一部分の詳細を知るために, <xref target="RFC4949">Internet Security Glossary, Version 2</xref>, <xref target="ISO29115">ISO/IEC 29115 Entity Authentication Assurance</xref>, および <xref target="X.1252">ITU-T X.1252</xref> を参照すること.
</t>
<!--
<t>
For more background on some of the terminology used,
see <xref target="RFC4949">Internet Security Glossary, Version 2</xref>,
<xref target="ISO29115">ISO/IEC 29115 Entity Authentication Assurance</xref>,
and <xref target="X.1252">ITU-T X.1252</xref>.
</t>
-->
</section>
<section anchor="Overview" title="Overview">
<!--
<t>The OpenID Connect protocol, in abstract, follows the following
steps.</t>
-->
<t>概要にある OpenID Connect プロトコルは以下の手順に従う.</t>
<t>
<list style="numbers">
<!--
<t>The RP (Client) sends a request to the OpenID Provider (OP).</t>
-->
<t>RP (Client)は OpenID Provider (OP) にリクエストを送る.</t>
<!--
<t>The OP authenticates the End-User and obtains authorization.</t>
-->
<t>OP は End-User を認証し認可を与える.</t>
<!--
<t>The OP responds with an ID Token and usually an Access Token.</t>
-->
<t>OP は ID Token と通常はAccess Token によって応答する.</t>
<!--
<t>The RP can send a request with the Access Token to the UserInfo Endpoint.</t>
-->
<t>RP はAccess Token を使って UserInfo エンドポイントにリクエストを送ることができる.</t>
<!--
<t>The UserInfo Endpoint returns Claims about the End-User.</t>
-->
<t>UserInfo エンドポイントは End-User についてクレームを返却する.</t>
</list>
</t>
<figure>
<!--
<preamble>
These steps are illustrated in the following diagram:
</preamble>
-->
<preamble>
これらの手順は以下の図に示されている:
</preamble>
<artwork><![CDATA[
+--------+ +--------+
| | | |
| |---------(1) AuthN Request-------->| |
| | | |
| | +--------+ | |
| | | | | |
| | | End- |<--(2) AuthN & AuthZ-->| |
| | | User | | |
| RP | | | | OP |
| | +--------+ | |
| | | |
| |<--------(3) AuthN Response--------| |
| | | |
| |---------(4) UserInfo Request----->| |
| | | |
| |<--------(5) UserInfo Response-----| |
| | | |
+--------+ +--------+
]]></artwork>
</figure>
</section>
</section>
<section anchor="IDToken" title="ID Token">
<!--
<t>
The primary extension that OpenID Connect makes to OAuth 2.0
to enable End-Users to be Authenticated
is the ID Token data structure.
The ID Token is a security token that contains Claims about the
Authentication of an End-User by an Authorization Server when using a Client,
and potentially other requested Claims.
The ID Token is represented as a
<xref target="JWT">JSON Web Token (JWT)</xref>.
</t>
-->
<t>
End-Users の認証を可能にするために OpenID Connect が OAuth 2.0 に行う主要な拡張機能は ID Token データ構造である.ID Token は, あるClientを使用している際にAuthorization Serverによる End-User の認証についてのクレームと, 潜在的な他の要求されるクレームを含むセキュリティトークンである.
</t>
<!--
<t>
The following Claims are used within the ID Token
for all OAuth 2.0 flows used by OpenID Connect:
</t>
-->
<t>
OpenID Connect で使用されている全ての OAuth 2.0 のフローのために, ID Token 内で以下のクレームが使用される:
</t>
<t>
<list style="hanging">
<!--
<t hangText="iss">
REQUIRED.
Issuer Identifier for the Issuer of the response.
The <spanx style="verb">iss</spanx> value is a case sensitive URL
using the <spanx style="verb">https</spanx> scheme that
contains scheme, host, and optionally, port number and path
components and no query or fragment components.
</t>
-->
<t hangText="iss">
必須(REQUIRED).レスポンスの発行者のための Issuer 識別子.<spanx style="verb">iss</spanx> の値は, クエリやフラグメントの要素を含まないスキーム, ホスト, 任意のポート番号とパスからなる <spanx style="verb">https</spanx> スキームを使用した大文字と小文字を区別する URL である.
</t>
<!--
<t hangText="sub">
REQUIRED.
Subject Identifier. A locally unique and never
reassigned identifier within the Issuer for the End-User,
which is intended to be consumed by the Client,
e.g., <spanx style="verb">24400320</spanx>
or <spanx style="verb">AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4</spanx>.
It MUST NOT exceed 255 ASCII characters in length.
The <spanx style="verb">sub</spanx> value is a case sensitive string.
</t>
-->
<t hangText="sub">
必須(REQUIRED).Subject 識別子.例えば, <spanx style="verb">24400320</spanx> や <spanx style="verb">AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4</spanx> のようなClientに使われることを意図し, End-User のための発行者内で一意であり決して再割り当てされない識別子である.ASCII で255文字を超えてはならない(MUST NOT).<spanx style="verb">sub</spanx> の値は大文字と小文字を区別する文字列である.
</t>
<!--
<t hangText="aud">
REQUIRED.
Audience(s) that this ID Token is intended for.
It MUST contain the OAuth 2.0 <spanx style="verb">client_id</spanx>
of the Relying Party as an audience value.
It MAY also contain identifiers for other audiences.
In the general case,
the <spanx style="verb">aud</spanx> value is an array of
case sensitive strings.
In the common special case when there is one audience,
the <spanx style="verb">aud</spanx> value MAY be a single
case sensitive string.
</t>
-->
<t hangText="aud">
必須(REQUIRED).この ID Token を対象とする Audience(s).audience の値として Relying Party のOAuth 2.0 の <spanx style="verb">client_id</spanx> を含まなければならない(MUST).また他の audiences のための識別子を含んでもよい(MAY).一般的な場合には, <spanx style="verb">aud</spanx> の値は大文字と小文字を区別する文字列の配列である. audience が1つである際の共通の特殊な場合には, <spanx style="verb">aud</spanx> の値は大文字と小文字を区別した文字列でもよい(MAY).
</t>
<!--
<t hangText="exp">REQUIRED.
Expiration time on or after which the ID Token MUST NOT be
accepted for processing. The processing of this parameter
requires that the current date/time MUST be before the
expiration date/time listed in the value. Implementers MAY
provide for some small leeway, usually no more than a few
minutes, to account for clock skew.
Its value is a JSON number representing the number of seconds from
1970-01-01T0:0:0Z as measured in UTC until the date/time.
See <xref target="RFC3339">RFC 3339</xref>
for details regarding date/times in general and UTC in
particular.
</t>
-->
<t hangText="exp">
必須(REQUIRED).それ以降, ID Token を処理のために受け入れてはいけない有効期限(MUST NOT).このパラメーターの処理は, 現在の日付/時刻が値の中に記載されている有効期限の日付/時刻以前でなければならない(MUST).実装者は, クロック・キューを考慮するために, 通常は数分間以下の多少の余地を提供してもよい(MAY).その値は, その日付/時刻まで UTC で計測される 1970-01-01T0:0:0Z から秒数を表す JSON 番号である.通常, そして特殊な UTC の日付/時刻に関する詳細は <xref target="RFC3339">RFC 3339</xref> を参照すること.
</t>
<!--
<t hangText="iat">REQUIRED.
Time at which the JWT was issued.
Its value is a JSON number representing the number of seconds from
1970-01-01T0:0:0Z as measured in UTC until the date/time.
</t>
-->
<t hangText="iat">
必須(REQUIRED).JWT が発行された時刻.その値は, その日付/時刻まで UTC で計測される 1970-01-01T0:0:0Z から秒数を表す JSON 番号である.
</t>
<!--
<t hangText="auth_time">
Time when the End-User authentication occurred.
Its value is a JSON number representing the number of seconds from
1970-01-01T0:0:0Z as measured in UTC until the date/time.
When a <spanx style="verb">max_age</spanx> request is made
or when <spanx style="verb">auth_time</spanx> is requested
as an Essential Claim,
then this Claim is REQUIRED; otherwise, its inclusion is OPTIONAL.
(The <spanx style="verb">auth_time</spanx> Claim semantically
corresponds to the OpenID 2.0 <xref target="OpenID.PAPE">PAPE</xref>
<spanx style="verb">auth_time</spanx> response parameter.)
</t>
-->
<t hangText="auth_time">
End-User の認証が行われた時刻.その値は, その日付/時刻まで UTC で計測される 1970-01-01T0:0:0Z から秒数を表す JSON 番号である.<spanx style="verb">max_age</spanx> リクエストが生成されたとき, あるいは <spanx style="verb">auth_time</spanx> が不可欠なクレームとして要求されたとき, そのクレームは必須である(REQUIRED).または, それを含めることは任意である(OPTIONAL).(<spanx style="verb">auth_time</spanx> クレームは意味的に OpenID 2.0 <xref target="OpenID.PAPE">PAPE</xref> <spanx style="verb">auth_time</spanx> レスポンスパラメーターに対応する.)
</t>
<!--
<t hangText="nonce">
String value used to associate a Client session
with an ID Token, and to mitigate replay attacks.
The value is passed through unmodified from the Authentication Request to the ID Token.
If present in the ID Token,
Clients MUST verify that
the <spanx style="verb">nonce</spanx> Claim Value is equal to
the value of the <spanx style="verb">nonce</spanx>
parameter sent in the Authentication Request.
If present in the Authentication Request, Authorization Servers
MUST include a <spanx style="verb">nonce</spanx> Claim in the
ID Token with the Claim Value
being the nonce value sent in the Authentication Request.
Authorization Servers SHOULD perform no other processing
on <spanx style="verb">nonce</spanx> values used.
The <spanx style="verb">nonce</spanx> value is a case sensitive string.
</t>
-->
<t hangText="nonce">
文字列の値は, ID Token とClientセッションを関連づけるため, リプレイアタックの軽減に使用される.その値は, Authentication Request から ID Token に変更されずに通過される.ID Token の中に存在する場合, Clientはその <spanx style="verb">nonce</spanx> クレームの値がAuthentication Request で送信された <spanx style="verb">nonce</spanx> パラメーターの値と同じであるか検証しなければならない(MUST).Authentication Request に存在する場合, Authorization ServerはAuthentication Request で送信された nonce の値であるクレーム値を用いて ID Token の中に <spanx style="verb">nonce</spanx> クレームを含めなければならない(MUST).Authorization Serverは使用される <spanx style="verb">nonce</spanx> 値でその他の処理を行うべきではない(SHOULD).<spanx style="verb">nonce</spanx> 値は大文字と小文字を区別する文字列である.
</t>
<!--
<t hangText="acr">
OPTIONAL.
Authentication Context Class Reference.
String specifying an Authentication Context Class Reference value
that identifies the Authentication Context Class that the
authentication performed satisfied.
The value "0" indicates the End-User authentication
did not meet the requirements of
<xref target="ISO29115">ISO/IEC 29115</xref> level 1.
Authentication using a long-lived browser cookie, for instance, is one
example where the use of "level 0" is appropriate. Authentications with
level 0 SHOULD NOT be used to authorize access to any resource of any
monetary value.
(This corresponds to the OpenID 2.0
<xref target="OpenID.PAPE">PAPE</xref>
<spanx style="verb">nist_auth_level</spanx> 0.)
An absolute URI or an <xref target="RFC6711">RFC 6711</xref>
registered name
SHOULD be used as the <spanx style="verb">acr</spanx> value;
registered names MUST NOT be used with a different meaning than
that which is registered.
Parties using this claim will need to agree upon the meanings of
the values used, which may be context-specific.
The <spanx style="verb">acr</spanx> value is a case sensitive string.
</t>
-->
<t hangText="acr">
任意(OPTIONAL).Authentication Context Class Reference.認証が成功して実行される認証コンテキストクラスを識別する認証コンテキストクラスリファレンスの値を指定する文字列.”0” の値は, End-User の認証が <xref target="ISO29115">ISO/IEC 29115</xref> level 1 の要求に合っていないことを示す.例えば, 長期間有効なブラウザー Cookie を使用する認証が "level 0” の使用は適切である例である.level 0 を用いた認証は金銭的な値のリソースへのアクセスを認可するために使用すべきではない(SHOULD NOT).(これは OpenID 2.0 <xref target="OpenID.PAPE">PAPE</xref> <spanx style="verb">nist_auth_level</spanx> 0 に対応する.)
絶対 URI あるいは <xref target="RFC6711">RFC 6711</xref> の予約語は <spanx style="verb">acr</spanx> 値として使用すべきであり(SHOULD), 予約語は登録されているものとは異なる意味で使用してはいけない(MUST NOT).このクレームを使用している Relying Parties はコンテキスト固有であるかもしれない使用されているその値の意味について同意する必要がある.<spanx style="verb">acr</spanx> 値は大文字と小文字を区別する文字列である.
</t>
<!--
<t hangText="amr">
OPTIONAL.
Authentication Methods References.
JSON array of strings that are identifiers for authentication methods
used in the authentication.
For instance, values might indicate that both password and OTP
authentication methods were used.
The definition of particular values to be used in the
<spanx style="verb">amr</spanx> Claim
is beyond the scope of this specification.
Parties using this claim will need to agree upon the meanings of
the values used, which may be context-specific.
The <spanx style="verb">amr</spanx> value is an array of
case sensitive strings.
</t>
-->
<t hangText="amr">
任意(OPTIONAL).Authentication Methods References.認証の中で使用される認証のための識別子となる文字列の JSON 配列である.例えば, 値はパスワードと OTP 認証方法の両方が使用されることを示すかもしれない.<spanx style="verb">amr</spanx> クレームで使用される特殊な値の定義は, この仕様の範囲を超える.Relying Parties はコンテキスト固有であるかもしれない使用されているその値の意味について同意する必要がある.<spanx style="verb">amr</spanx> 値は大文字と小文字を区別する文字列である.
</t>
<!--
<t hangText="azp">
OPTIONAL.
Authorized party - the party to which the ID Token was issued.
If present, it MUST contain the OAuth 2.0
Client ID of this party.
This Claim is only needed when
the ID Token has a single audience value
and that audience is different than the authorized party.
It MAY be included even when the authorized party is the same
as the sole audience.
The <spanx style="verb">azp</spanx> value is a case sensitive string
containing a StringOrURI value.
</t>
-->
<t hangText="azp">
任意(OPTIONAL).Authorized party.ID Token を発行された Relying Partyである.これがある場合, この party の OAuth 2.0 の Client ID を含めなければならない(MUST).ID Token は1つの audience 値が含まれ, その audience が authorized party とは異なるときにこのクレームのみ必要である.Authorized party が単一の audience として同じときそれは含まれているかもしれない.<spanx style="verb">azp</spanx> 値は文字列または URI を含む大文字と小文字を区別する文字列である.
</t>
</list>
</t>
<!--
<t>
ID Tokens MAY contain other Claims.
Any Claims used that are not understood MUST be ignored.
See Sections
<xref target="CodeIDToken" format="counter"/>,
<xref target="HybridIDToken" format="counter"/>,
<xref target="StandardClaims" format="counter"/>, and
<xref target="SelfIssuedResponse" format="counter"/>
for additional Claims defined by this specification.
</t>
-->
<t>
ID Token は他のクレームを含むかもしれない(MAY).
解明されない使用されるいくつかのクレームは無視しなければならない(MUST).この仕様によって定義される追加のクレームのための
<xref target="CodeIDToken" format="counter"/>,
<xref target="HybridIDToken" format="counter"/>,
<xref target="StandardClaims" format="counter"/> と
<xref target="SelfIssuedResponse" format="counter"/>
セクションを参照すること.
</t>
<!--
<t>
ID Tokens MUST be signed using <xref
target="JWS">JWS</xref> and optionally both signed and then
encrypted using <xref target="JWS">JWS</xref> and <xref
target="JWE">JWE</xref> respectively, thereby providing
authentication, integrity,
non-repudiation, and optionally, confidentiality,
per <xref target="SigningOrder"/>.
If the ID Token is encrypted, it MUST be signed then encrypted,
with the result being a Nested JWT, as defined in <xref target="JWT"/>.
ID Tokens MUST NOT use <spanx style="verb">none</spanx>
as the <spanx style="verb">alg</spanx> value
unless the Response Type used returns no ID Token from the
Authorization Endpoint
(such as when using the Authorization Code Flow)
and the Client explicitly requested the use of
<spanx style="verb">none</spanx> at Registration time.
</t>
-->
<t>
ID Token は <xref target="JWS">JWS</xref> によって署名される, <xref target="JWS">JWS</xref> と <xref target="JWE">JWE</xref> のそれぞれによって署名された後に暗号化の両方をされていなければならない(MUST).これにより各 <xref target="SigningOrder"/> に, 認証, 完全性, 否認防止, および任意で機密性を提供する.
ID Token が暗号化されている場合, <xref target="JWT"/> で定義されている入れ子 JWT である結果を用いて署名されてから暗号化されなければならなく(MUST), Authorization Endpoint から ID Token のない戻り値を使用するレスポンスタイプ(Authorization Code Flow を用いているときこのようになる)で, 登録時に明示的に <spanx style="verb">none</spanx> の使用を要求したClientでない限り, ID Token は <spanx style="verb">alg</spanx> 値として <spanx style="verb">none</spanx> を使用してはいけない(MUST NOT).
</t>
<!--
<t>
ID Tokens SHOULD NOT use the JWS or JWE
<spanx style="verb">x5u</spanx>,
<spanx style="verb">x5c</spanx>,
<spanx style="verb">jku</spanx>, or
<spanx style="verb">jwk</spanx>
header parameter fields.
Instead, references to keys used are
communicated in advance using Discovery and Registration parameters,
per <xref target="SigEnc"/>.
</t>
-->
<t>
ID Token は JWS あるいは JWE の
<spanx style="verb">x5u</spanx>,
<spanx style="verb">x5c</spanx>,
<spanx style="verb">jku</spanx> と
<spanx style="verb">jwk</spanx>
ヘッダーパラメーターフィールド を使用すべきではない.代わりに, 使用されるキーへの参照は各 <xref target="SigEnc"/> に Discovery と Registration parameters を用いて事前に伝えられる.
</t>
<figure>
<!--
<preamble>
The following is a non-normative example of
the set of Claims (the JWT Claims Set) in an ID Token:
</preamble>
-->
<preamble>
以下は ID Token 中のクレームセット(JWT クレームセット)の一例である:
</preamble>
<artwork><![CDATA[
{
"iss": "https://server.example.com",
"sub": "24400320",
"aud": "s6BhdRkqt3",
"nonce": "n-0S6_WzA2Mj",
"exp": 1311281970,
"iat": 1311280970,
"auth_time": 1311280969,
"acr": "urn:mace:incommon:iap:silver"
}
]]></artwork>
</figure>
</section>
<section anchor="Authentication" title="Authentication">
<t>