authlete 1.0.21 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/Makefile +40 -0
- data/README.md +20 -20
- data/Rakefile +5 -0
- data/authlete.gemspec +2 -2
- data/lib/authlete.rb +28 -9
- data/lib/authlete/api.rb +153 -322
- data/lib/authlete/authentication-server.rb +230 -230
- data/lib/authlete/exception.rb +14 -15
- data/lib/authlete/model/base.rb +30 -0
- data/lib/authlete/model/client-extension.rb +17 -119
- data/lib/authlete/model/client.rb +203 -338
- data/lib/authlete/model/hashable.rb +13 -33
- data/lib/authlete/model/named-uri.rb +13 -74
- data/lib/authlete/model/pair.rb +13 -74
- data/lib/authlete/model/param-initializer.rb +45 -0
- data/lib/authlete/model/property.rb +15 -85
- data/lib/authlete/model/request/authentication-callback-request.rb +63 -55
- data/lib/authlete/model/request/authorization-fail-request.rb +14 -75
- data/lib/authlete/model/request/authorization-issue-request.rb +38 -119
- data/lib/authlete/model/request/authorization-request.rb +8 -73
- data/lib/authlete/model/request/backchannel-authentication-complete-request.rb +97 -0
- data/lib/authlete/model/request/backchannel-authentication-fail-request.rb +55 -0
- data/lib/authlete/model/request/backchannel-authentication-issue-request.rb +37 -0
- data/lib/authlete/model/request/backchannel-authentication-request.rb +63 -0
- data/lib/authlete/model/request/base.rb +26 -0
- data/lib/authlete/model/request/client-authorization-delete-request.rb +7 -93
- data/lib/authlete/model/request/client-authorization-get-list-request.rb +17 -89
- data/lib/authlete/model/request/client-authorization-update-request.rb +11 -86
- data/lib/authlete/model/request/client-registration-request.rb +49 -0
- data/lib/authlete/model/request/client-secret-update-request.rb +7 -89
- data/lib/authlete/model/request/developer-authentication-callback-request.rb +40 -43
- data/lib/authlete/model/request/device-authorization-request.rb +63 -0
- data/lib/authlete/model/request/device-complete-request.rb +99 -0
- data/lib/authlete/model/request/device-verification-request.rb +40 -0
- data/lib/authlete/model/request/granted-scopes-request.rb +8 -74
- data/lib/authlete/model/request/introspection-request.rb +24 -83
- data/lib/authlete/model/request/pushed-auth-req-request.rb +64 -0
- data/lib/authlete/model/request/revocation-request.rb +14 -88
- data/lib/authlete/model/request/standard-introspection-request.rb +8 -73
- data/lib/authlete/model/request/token-create-request.rb +52 -183
- data/lib/authlete/model/request/token-fail-request.rb +12 -74
- data/lib/authlete/model/request/token-issue-request.rb +22 -80
- data/lib/authlete/model/request/token-request.rb +44 -81
- data/lib/authlete/model/request/token-update-request.rb +35 -121
- data/lib/authlete/model/request/user-info-issue-request.rb +14 -80
- data/lib/authlete/model/request/user-info-request.rb +25 -70
- data/lib/authlete/model/response/access-token.rb +96 -0
- data/lib/authlete/model/response/authentication-callback-response.rb +24 -19
- data/lib/authlete/model/response/authorization-fail-response.rb +13 -15
- data/lib/authlete/model/response/authorization-issue-response.rb +29 -32
- data/lib/authlete/model/response/authorization-response.rb +97 -123
- data/lib/authlete/model/response/authorized-client-list-response.rb +37 -0
- data/lib/authlete/model/response/backchannel-authentication-complete-response.rb +143 -0
- data/lib/authlete/model/response/backchannel-authentication-fail-response.rb +47 -0
- data/lib/authlete/model/response/backchannel-authentication-issue-response.rb +63 -0
- data/lib/authlete/model/response/backchannel-authentication-response.rb +160 -0
- data/lib/authlete/model/response/client-list-response.rb +58 -0
- data/lib/authlete/model/response/client-registration-response.rb +50 -0
- data/lib/authlete/model/response/client-secret-refresh-response.rb +12 -12
- data/lib/authlete/model/response/client-secret-update-response.rb +12 -12
- data/lib/authlete/model/response/developer-authentication-callback-response.rb +24 -19
- data/lib/authlete/model/response/device-authorization-response.rb +134 -0
- data/lib/authlete/model/response/device-complete-response.rb +39 -0
- data/lib/authlete/model/response/device-verification-response.rb +96 -0
- data/lib/authlete/model/response/granted-scopes-get-response.rb +27 -19
- data/lib/authlete/model/response/introspection-response.rb +64 -58
- data/lib/authlete/model/response/pushed-auth-req-response.rb +59 -0
- data/lib/authlete/model/response/revocation-response.rb +12 -15
- data/lib/authlete/model/response/service-list-response.rb +54 -0
- data/lib/authlete/model/response/standard-introspection-response.rb +13 -15
- data/lib/authlete/model/response/token-create-response.rb +50 -55
- data/lib/authlete/model/response/token-fail-response.rb +14 -17
- data/lib/authlete/model/response/token-issue-response.rb +49 -62
- data/lib/authlete/model/response/token-list-response.rb +64 -0
- data/lib/authlete/model/response/token-response.rb +59 -79
- data/lib/authlete/model/response/token-update-response.rb +28 -23
- data/lib/authlete/model/response/user-info-issue-response.rb +16 -16
- data/lib/authlete/model/response/user-info-response.rb +48 -42
- data/lib/authlete/model/result.rb +14 -13
- data/lib/authlete/model/scope.rb +68 -158
- data/lib/authlete/model/service-owner.rb +32 -116
- data/lib/authlete/model/service.rb +672 -837
- data/lib/authlete/model/sns-credentials.rb +51 -124
- data/lib/authlete/model/tagged-value.rb +14 -69
- data/lib/authlete/utility.rb +70 -99
- data/lib/authlete/version.rb +3 -3
- data/test/authlete/model/request/test_authentication-callback-request.rb +100 -0
- data/test/authlete/model/request/test_authorization-fail-request.rb +67 -0
- data/test/authlete/model/request/test_authorization-issue-request.rb +94 -0
- data/test/authlete/model/request/test_authorization-request.rb +57 -0
- data/test/authlete/model/request/test_backchannel-authentication-complete-request.rb +102 -0
- data/test/authlete/model/request/test_backchannel-authentication-fail-request.rb +71 -0
- data/test/authlete/model/request/test_backchannel-authentication-issue-request.rb +57 -0
- data/test/authlete/model/request/test_backchannel-authentication-request.rb +75 -0
- data/test/authlete/model/request/test_client-authorization-delete-request.rb +57 -0
- data/test/authlete/model/request/test_client-authorization-get-list-request.rb +71 -0
- data/test/authlete/model/request/test_client-authorization-update-request.rb +63 -0
- data/test/authlete/model/request/test_client-registration-request.rb +68 -0
- data/test/authlete/model/request/test_device-authorization-request.rb +75 -0
- data/test/authlete/model/request/test_device-complete-request.rb +102 -0
- data/test/authlete/model/request/test_device-verification-request.rb +57 -0
- data/test/authlete/model/request/test_granted-scopes-request.rb +57 -0
- data/test/authlete/model/request/test_introspection-request.rb +79 -0
- data/test/authlete/model/request/test_pushed-auth-req-request.rb +75 -0
- data/test/authlete/model/request/test_revocation-request.rb +67 -0
- data/test/authlete/model/request/test_standard-introspection-request.rb +57 -0
- data/test/authlete/model/request/test_token-create-request.rb +110 -0
- data/test/authlete/model/request/test_token-fail-request.rb +63 -0
- data/test/authlete/model/request/test_token-issue-request.rb +70 -0
- data/test/authlete/model/request/test_token-request.rb +94 -0
- data/test/authlete/model/request/test_token-update-request.rb +82 -0
- data/test/authlete/model/request/test_user-info-issue-request.rb +67 -0
- data/test/authlete/model/request/test_user-info-request.rb +75 -0
- data/test/authlete/model/response/test_access-token.rb +101 -0
- data/test/authlete/model/response/test_authorization-fail-response.rb +68 -0
- data/test/authlete/model/response/test_authorization-issue-response.rb +92 -0
- data/test/authlete/model/response/test_authorization-response.rb +145 -0
- data/test/authlete/model/response/test_authorized-client-list-response.rb +83 -0
- data/test/authlete/model/response/test_backchannel-authentication-complete-response.rb +132 -0
- data/test/authlete/model/response/test_backchannel-authentication-fail-response.rb +68 -0
- data/test/authlete/model/response/test_backchannel-authentication-issue-response.rb +80 -0
- data/test/authlete/model/response/test_backchannel-authentication-response.rb +156 -0
- data/test/authlete/model/response/test_client-list-response.rb +79 -0
- data/test/authlete/model/response/test_client-secret-refresh-response.rb +68 -0
- data/test/authlete/model/response/test_client-secret-update-response.rb +68 -0
- data/test/authlete/model/response/test_device-authorization-response.rb +140 -0
- data/test/authlete/model/response/test_device-complete-response.rb +64 -0
- data/test/authlete/model/response/test_device-verification-response.rb +112 -0
- data/test/authlete/model/response/test_granted-scopes-get-response.rb +84 -0
- data/test/authlete/model/response/test_introspection-response.rb +127 -0
- data/test/authlete/model/response/test_pushed-auth-req-response.rb +76 -0
- data/test/authlete/model/response/test_revocation-response.rb +68 -0
- data/test/authlete/model/response/test_service-list-response.rb +72 -0
- data/test/authlete/model/response/test_standard-introspection-response.rb +68 -0
- data/test/authlete/model/response/test_token-create-response.rb +107 -0
- data/test/authlete/model/response/test_token-fail-response.rb +68 -0
- data/test/authlete/model/response/test_token-issue-response.rb +127 -0
- data/test/authlete/model/response/test_token-list-response.rb +84 -0
- data/test/authlete/model/response/test_token-response.rb +147 -0
- data/test/authlete/model/response/test_token-update-response.rb +87 -0
- data/test/authlete/model/response/test_user-info-issue-response.rb +68 -0
- data/test/authlete/model/response/test_user-info-response.rb +107 -0
- data/test/authlete/model/test_client-extension.rb +95 -0
- data/test/authlete/model/test_client.rb +461 -0
- data/test/authlete/model/test_named-uri.rb +85 -0
- data/test/authlete/model/test_pair.rb +85 -0
- data/test/authlete/model/test_property.rb +90 -0
- data/test/authlete/model/test_result.rb +68 -0
- data/test/authlete/model/test_scope.rb +106 -0
- data/test/authlete/model/test_service-owner.rb +80 -0
- data/test/authlete/model/test_service.rb +624 -0
- data/test/authlete/model/test_sns-credentials.rb +88 -0
- data/test/authlete/model/test_tagged-value.rb +83 -0
- data/test/authlete/test_exception.rb +70 -0
- metadata +173 -13
- data/lib/authlete/model/client-list.rb +0 -129
- data/lib/authlete/model/response/client-authorization-get-list-response.rb +0 -60
- data/lib/authlete/model/response/service-creatable-response.rb +0 -51
- data/lib/authlete/model/service-list.rb +0 -128
@@ -0,0 +1,624 @@
|
|
1
|
+
# :nodoc:
|
2
|
+
#
|
3
|
+
# Copyright (C) 2014-2020 Authlete, Inc.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
|
18
|
+
require 'authlete'
|
19
|
+
require 'json'
|
20
|
+
require 'minitest/autorun'
|
21
|
+
|
22
|
+
|
23
|
+
class ServiceTest < Minitest::Test
|
24
|
+
NUMBER = 1000
|
25
|
+
SERVICE_OWNER_NUMBER = 12345
|
26
|
+
SERVICE_NAME = '<service-name>'
|
27
|
+
API_KEY = '<api-key>'
|
28
|
+
API_SECRET = '<api-secret>'
|
29
|
+
ISSUER = '<issuer>'
|
30
|
+
AUTHORIZATION_ENDPOINT = '<authorization-endpoint>'
|
31
|
+
TOKEN_ENDPOINT = '<token-endpoint>'
|
32
|
+
REVOCATION_ENDPOINT = '<revocation-endpoint>'
|
33
|
+
SUPPORTED_REVOCATION_AUTH_METHODS = [ 'NONE', 'CLIENT_SECRET_BASIC' ]
|
34
|
+
USER_INFO_ENDPOINT = '<user-info-endpoint>'
|
35
|
+
JWKS_URI = '<jwks-uri>'
|
36
|
+
JWKS = '<jwks>'
|
37
|
+
REGISTRATION_ENDPOINT = '<registration-endpoint>'
|
38
|
+
REGISTRATION_MANAGEMENT_ENDPOINT = '<registration-management-endpoint>'
|
39
|
+
SUPPORTED_SCOPE_NAME = 'scope0'
|
40
|
+
SUPPORTED_SCOPE_DESCRIPTION = '<scope0-description>'
|
41
|
+
SUPPORTED_SCOPES = [ Authlete::Model::Scope.new(name: SUPPORTED_SCOPE_NAME, description: SUPPORTED_SCOPE_DESCRIPTION) ]
|
42
|
+
SUPPORTED_RESPONSE_TYPES = [ 'NONE', 'CODE', 'TOKEN', 'ID_TOKEN' ]
|
43
|
+
SUPPORTED_GRANT_TYPES = [ 'AUTHORIZATION_CODE', 'REFRESH_TOKEN' ]
|
44
|
+
SUPPORTED_ACRS = [ '<supported-acr0>', '<supported-acr1>' ]
|
45
|
+
SUPPORTED_TOKEN_AUTH_METHODS = [ 'NONE', 'CLIENT_SECRET_BASIC' ]
|
46
|
+
SUPPORTED_DISPLAYS = [ 'PAGE', 'POPUP', 'TOUCH', 'WAP' ]
|
47
|
+
SUPPORTED_CLAIM_TYPES = [ 'NORMAL' ]
|
48
|
+
SUPPORTED_CLAIMS = [ '<supported-claim0>', '<supported-claim1>' ]
|
49
|
+
SERVICE_DOCUMENTATION = '<service-documentation>'
|
50
|
+
SUPPORTED_CLAIM_LOCALES = [ 'en-US' ]
|
51
|
+
SUPPORTED_UI_LOCALES = [ 'en-US' ]
|
52
|
+
POLICY_URI = '<policy-uri>'
|
53
|
+
TOS_URI = '<tos-uri>'
|
54
|
+
AUTHENTICATION_CALLBACK_ENDPOINT = '<authentication-callback-endpoint>'
|
55
|
+
AUTHENTICATION_CALLBACK_API_KEY = '<authentication-callback-api-key>'
|
56
|
+
AUTHENTICATION_CALLBACK_API_SECRET = '<authentication-callback-api-secret>'
|
57
|
+
SUPPORTED_SNSES = [ 'FACEBOOK' ]
|
58
|
+
SNS_CREDENTIALS_SNS = 'FACEBOOK'
|
59
|
+
SNS_CREDENTIALS_API_KEY = '<sns-credentials0-api-key>'
|
60
|
+
SNS_CREDENTIALS_API_SECRET = '<sns-credentials0-api-secret>'
|
61
|
+
SNS_CREDENTIALS = [ Authlete::Model::SnsCredentials.new(sns: SNS_CREDENTIALS_SNS, apiKey: SNS_CREDENTIALS_API_KEY, apiSecret: SNS_CREDENTIALS_API_SECRET) ]
|
62
|
+
CREATED_AT = 10000
|
63
|
+
MODIFIED_AT = 10000
|
64
|
+
DEVELOPER_AUTHENTICATION_CALLBACK_ENDPOINT = '<developer-authentication-callback-endpoint>'
|
65
|
+
DEVELOPER_AUTHENTICATION_CALLBACK_API_KEY = '<developer-authentication-callback-api-key>'
|
66
|
+
DEVELOPER_AUTHENTICATION_CALLBACK_API_SECRET = '<developer-authentication-callback-api-secret>'
|
67
|
+
SUPPORTED_DEVELOPER_SNSES = [ 'FACEBOOK' ]
|
68
|
+
DEVELOPER_SNS_CREDENTIALS_SNS = 'FACEBOOK'
|
69
|
+
DEVELOPER_SNS_CREDENTIALS_API_KEY = '<developer-sns-credentials0-api-key>'
|
70
|
+
DEVELOPER_SNS_CREDENTIALS_API_SECRET = '<developer-sns-credentials0-api-secret>'
|
71
|
+
DEVELOPER_SNS_CREDENTIALS = [ Authlete::Model::SnsCredentials.new(sns: DEVELOPER_SNS_CREDENTIALS_SNS, apiKey: DEVELOPER_SNS_CREDENTIALS_API_KEY, apiSecret: DEVELOPER_SNS_CREDENTIALS_API_SECRET) ]
|
72
|
+
CLIENTS_PER_DEVELOPER = 10
|
73
|
+
DIRECT_AUTHORIZATION_ENDPOINT_ENABLED = true
|
74
|
+
DIRECT_TOKEN_ENDPOINT_ENABLED = true
|
75
|
+
DIRECT_REVOCATION_ENDPOINT_ENABLED = true
|
76
|
+
DIRECT_USER_INFO_ENDPOINT_ENABLED = true
|
77
|
+
DIRECT_JWKS_ENDPOINT_ENABLED = true
|
78
|
+
DIRECT_INTROSPECTION_ENDPOINT_ENABLED = true
|
79
|
+
SINGLE_ACCESS_TOKEN_PER_SUBJECT = false
|
80
|
+
PKCE_REQUIRED = true
|
81
|
+
PKCE_S256_REQUIRED = true
|
82
|
+
REFRESH_TOKEN_KEPT = true
|
83
|
+
REFRESH_TOKEN_DURATION_KEPT = true
|
84
|
+
ERROR_DESCRIPTION_OMITTED = false
|
85
|
+
ERROR_URI_OMITTED = false
|
86
|
+
CLIENT_ID_ALIAS_ENABLED = true
|
87
|
+
SUPPORTED_SERVICE_PROFILES = [ 'FAPI', 'OPEN_BANKING' ]
|
88
|
+
TLS_CLIENT_CERTIFICATE_BOUND_ACCESS_TOKENS = true
|
89
|
+
INTROSPECTION_ENDPOINT = '<introspection-endpoint>'
|
90
|
+
SUPPORTED_INTROSPECTION_AUTH_METHODS = [ 'NONE', 'CLIENT_SECRET_BASIC' ]
|
91
|
+
MUTUAL_TLS_VALIDATE_PKI_CERT_CHAIN = true
|
92
|
+
TRUSTED_ROOT_CERTIFICATES = [ '<trusted-root-certificate0>', '<trusted-root-certificate1>' ]
|
93
|
+
DYNAMIC_REGISTRATION_SUPPORTED = true
|
94
|
+
END_SESSION_ENDPOINT = '<end-session-endpoint>'
|
95
|
+
DESCRIPTION = '<description>'
|
96
|
+
ACCESS_TOKEN_TYPE = 'Bearer'
|
97
|
+
ACCESS_TOKEN_SIGN_ALG = 'HS256'
|
98
|
+
ACCESS_TOKEN_DURATION = 300
|
99
|
+
REFRESH_TOKEN_DURATION = 300
|
100
|
+
ID_TOKEN_DURATION = 300
|
101
|
+
AUTHORIZATION_RESPONSE_DURATION = 300
|
102
|
+
PUSHED_AUTH_REQ_DURATION = 300
|
103
|
+
METADATA_KEY = '<metadata0-key>'
|
104
|
+
METADATA_VALUE = '<metadata0-value>'
|
105
|
+
METADATA = [ Authlete::Model::Pair.new(key: METADATA_KEY, value: METADATA_VALUE) ]
|
106
|
+
ACCESS_TOKEN_SIGNATURE_KEY_ID = '<access-token-signature-key-id>'
|
107
|
+
AUTHORIZATION_SIGNATURE_KEY_ID = '<authorization-signature-key-id>'
|
108
|
+
ID_TOKEN_SIGNATURE_KEY_ID = '<id-token-signature-key-id>'
|
109
|
+
USER_INFO_SIGNATURE_KEY_ID = '<user-info-signature-key-id>'
|
110
|
+
SUPPORTED_BACKCHANNEL_TOKEN_DELIVERY_MODES = [ 'POLL', 'PING', 'PUSH' ]
|
111
|
+
BACKCHANNEL_AUTHENTICATION_ENDPOINT = '<backchannel-authentication-endpoint>'
|
112
|
+
BACKCHANNEL_USER_CODE_PARAMETER_SUPPORTED = true
|
113
|
+
BACKCHANNEL_AUTH_REQ_ID_DURATION = 300
|
114
|
+
BACKCHANNEL_POLLING_INTERVAL = 10
|
115
|
+
BACKCHANNEL_BINDING_MESSAGE_REQUIRED_IN_FAPI = true
|
116
|
+
ALLOWABLE_CLOCK_SKEW = 100
|
117
|
+
DEVICE_AUTHORIZATION_ENDPOINT = '<device-authorization-endpoint>'
|
118
|
+
DEVICE_VERIFICATION_URI = '<device-verification-uri>'
|
119
|
+
DEVICE_VERIFICATION_URI_COMPLETE = '<device-verification-uri-complete>'
|
120
|
+
DEVICE_FLOW_CODE_DURATION = 300
|
121
|
+
DEVICE_FLOW_POLLING_INTERVAL = 10
|
122
|
+
USER_CODE_CHARSET = 'BASE20'
|
123
|
+
USER_CODE_LENGTH = 100
|
124
|
+
PUSHED_AUTH_REQ_ENDPOINT = '<pushed-auth-req-endpoint>'
|
125
|
+
MTLS_ENDPOINT_ALIAS_NAME = '<mtls-endpoint-alias0-name>'
|
126
|
+
MTLS_ENDPOINT_ALIAS_URI = '<mtls-endpoint-alias0-uri>'
|
127
|
+
MTLS_ENDPOINT_ALIASES = [ Authlete::Model::NamedUri.new(name: MTLS_ENDPOINT_ALIAS_NAME, uri: MTLS_ENDPOINT_ALIAS_URI) ]
|
128
|
+
SUPPORTED_AUTHORIZATION_DATA_TYPES = [ '<supported-authorization-data-type0>', '<supported-authorization-data-type1>' ]
|
129
|
+
SUPPORTED_TRUST_FRAMEWORKS = [ '<supported-trust-framework0>', '<supported-trust-framework1>' ]
|
130
|
+
SUPPORTED_EVIDENCE = [ '<supported-evidence0>', '<supported-evidence1>' ]
|
131
|
+
SUPPORTED_IDENTITY_DOCUMENTS = [ '<supported-identity-document0>', '<supported-identity-document1>' ]
|
132
|
+
SUPPORTED_VERIFICATION_METHODS = [ '<supported-verification-method0>', '<supported-verification-method1>' ]
|
133
|
+
SUPPORTED_VERIFIED_CLAIMS = [ '<supported-verified-claim0>', '<supported-verified-claim1>' ]
|
134
|
+
MISSING_CLIENT_ID_ALLOWED = false
|
135
|
+
PAR_REQUIRED = false
|
136
|
+
REQUEST_OBJECT_REQUIRED = true
|
137
|
+
TRADITIONAL_REQUEST_OBJECT_PROCESSING_APPLIED = false
|
138
|
+
CLAIM_SHORTCUT_RESTRICTIVE = false
|
139
|
+
SCOPE_REQUIRED = true
|
140
|
+
NBF_OPTIONAL = true
|
141
|
+
ISS_SUPPRESSED = false
|
142
|
+
|
143
|
+
|
144
|
+
def generate_json
|
145
|
+
return <<~JSON
|
146
|
+
{
|
147
|
+
"number": 1000,
|
148
|
+
"serviceOwnerNumber": 12345,
|
149
|
+
"serviceName": "<service-name>",
|
150
|
+
"apiKey": "<api-key>",
|
151
|
+
"apiSecret": "<api-secret>",
|
152
|
+
"issuer": "<issuer>",
|
153
|
+
"authorizationEndpoint": "<authorization-endpoint>",
|
154
|
+
"tokenEndpoint": "<token-endpoint>",
|
155
|
+
"revocationEndpoint": "<revocation-endpoint>",
|
156
|
+
"supportedRevocationAuthMethods": [ "NONE", "CLIENT_SECRET_BASIC" ],
|
157
|
+
"userInfoEndpoint": "<user-info-endpoint>",
|
158
|
+
"jwksUri": "<jwks-uri>",
|
159
|
+
"jwks": "<jwks>",
|
160
|
+
"registrationEndpoint": "<registration-endpoint>",
|
161
|
+
"registrationManagementEndpoint": "<registration-management-endpoint>",
|
162
|
+
"supportedScopes": [ { "name": "scope0", "description": "<scope0-description>" } ],
|
163
|
+
"supportedResponseTypes": [ "NONE", "CODE", "TOKEN", "ID_TOKEN" ],
|
164
|
+
"supportedGrantTypes": [ "AUTHORIZATION_CODE", "REFRESH_TOKEN" ],
|
165
|
+
"supportedAcrs": [ "<supported-acr0>", "<supported-acr1>" ],
|
166
|
+
"supportedTokenAuthMethods": [ "NONE", "CLIENT_SECRET_BASIC" ],
|
167
|
+
"supportedDisplays": [ "PAGE", "POPUP", "TOUCH", "WAP" ],
|
168
|
+
"supportedClaimTypes": [ "NORMAL" ],
|
169
|
+
"supportedClaims": [ "<supported-claim0>", "<supported-claim1>" ],
|
170
|
+
"serviceDocumentation": "<service-documentation>",
|
171
|
+
"supportedClaimLocales": [ "en-US" ],
|
172
|
+
"supportedUiLocales": [ "en-US" ],
|
173
|
+
"policyUri": "<policy-uri>",
|
174
|
+
"tosUri": "<tos-uri>",
|
175
|
+
"authenticationCallbackEndpoint": "<authentication-callback-endpoint>",
|
176
|
+
"authenticationCallbackApiKey": "<authentication-callback-api-key>",
|
177
|
+
"authenticationCallbackApiSecret": "<authentication-callback-api-secret>",
|
178
|
+
"supportedSnses": [ "FACEBOOK" ],
|
179
|
+
"snsCredentials": [ { "sns": "FACEBOOK", "apiKey": "<sns-credentials0-api-key>", "apiSecret": "<sns-credentials0-api-secret>" } ],
|
180
|
+
"createdAt": 10000,
|
181
|
+
"modifiedAt": 10000,
|
182
|
+
"developerAuthenticationCallbackEndpoint": "<developer-authentication-callback-endpoint>",
|
183
|
+
"developerAuthenticationCallbackApiKey": "<developer-authentication-callback-api-key>",
|
184
|
+
"developerAuthenticationCallbackApiSecret": "<developer-authentication-callback-api-secret>",
|
185
|
+
"supportedDeveloperSnses": [ "FACEBOOK" ],
|
186
|
+
"developerSnsCredentials": [ { "sns": "FACEBOOK", "apiKey": "<developer-sns-credentials0-api-key>", "apiSecret": "<developer-sns-credentials0-api-secret>" } ],
|
187
|
+
"clientsPerDeveloper": 10,
|
188
|
+
"directAuthorizationEndpointEnabled": true,
|
189
|
+
"directTokenEndpointEnabled": true,
|
190
|
+
"directRevocationEndpointEnabled": true,
|
191
|
+
"directUserInfoEndpointEnabled": true,
|
192
|
+
"directJwksEndpointEnabled": true,
|
193
|
+
"directIntrospectionEndpointEnabled": true,
|
194
|
+
"singleAccessTokenPerSubject": false,
|
195
|
+
"pkceRequired": true,
|
196
|
+
"pkceS256Required": true,
|
197
|
+
"refreshTokenKept": true,
|
198
|
+
"refreshTokenDurationKept": true,
|
199
|
+
"errorDescriptionOmitted": false,
|
200
|
+
"errorUriOmitted": false,
|
201
|
+
"clientIdAliasEnabled": true,
|
202
|
+
"supportedServiceProfiles": [ "FAPI", "OPEN_BANKING" ],
|
203
|
+
"tlsClientCertificateBoundAccessTokens": true,
|
204
|
+
"introspectionEndpoint": "<introspection-endpoint>",
|
205
|
+
"supportedIntrospectionAuthMethods": [ "NONE", "CLIENT_SECRET_BASIC" ],
|
206
|
+
"mutualTlsValidatePkiCertChain": true,
|
207
|
+
"trustedRootCertificates": [ "<trusted-root-certificate0>", "<trusted-root-certificate1>" ],
|
208
|
+
"dynamicRegistrationSupported": true,
|
209
|
+
"endSessionEndpoint": "<end-session-endpoint>",
|
210
|
+
"description": "<description>",
|
211
|
+
"accessTokenType": "Bearer",
|
212
|
+
"accessTokenSignAlg": "HS256",
|
213
|
+
"accessTokenDuration": 300,
|
214
|
+
"refreshTokenDuration": 300,
|
215
|
+
"idTokenDuration": 300,
|
216
|
+
"authorizationResponseDuration": 300,
|
217
|
+
"pushedAuthReqDuration": 300,
|
218
|
+
"metadata": [ { "key": "<metadata0-key>", "value": "<metadata0-value>" } ],
|
219
|
+
"accessTokenSignatureKeyId": "<access-token-signature-key-id>",
|
220
|
+
"authorizationSignatureKeyId": "<authorization-signature-key-id>",
|
221
|
+
"idTokenSignatureKeyId": "<id-token-signature-key-id>",
|
222
|
+
"userInfoSignatureKeyId": "<user-info-signature-key-id>",
|
223
|
+
"supportedBackchannelTokenDeliveryModes": [ "POLL", "PING", "PUSH" ],
|
224
|
+
"backchannelAuthenticationEndpoint": "<backchannel-authentication-endpoint>",
|
225
|
+
"backchannelUserCodeParameterSupported": true,
|
226
|
+
"backchannelAuthReqIdDuration": 300,
|
227
|
+
"backchannelPollingInterval": 10,
|
228
|
+
"backchannelBindingMessageRequiredInFapi": true,
|
229
|
+
"allowableClockSkew": 100,
|
230
|
+
"deviceAuthorizationEndpoint": "<device-authorization-endpoint>",
|
231
|
+
"deviceVerificationUri": "<device-verification-uri>",
|
232
|
+
"deviceVerificationUriComplete": "<device-verification-uri-complete>",
|
233
|
+
"deviceFlowCodeDuration": 300,
|
234
|
+
"deviceFlowPollingInterval": 10,
|
235
|
+
"userCodeCharset": "BASE20",
|
236
|
+
"userCodeLength": 100,
|
237
|
+
"pushedAuthReqEndpoint": "<pushed-auth-req-endpoint>",
|
238
|
+
"mtlsEndpointAliases": [ { "name": "<mtls-endpoint-alias0-name>", "uri": "<mtls-endpoint-alias0-uri>" } ],
|
239
|
+
"supportedAuthorizationDataTypes": [ "<supported-authorization-data-type0>", "<supported-authorization-data-type1>" ],
|
240
|
+
"supportedTrustFrameworks": [ "<supported-trust-framework0>", "<supported-trust-framework1>" ],
|
241
|
+
"supportedEvidence": [ "<supported-evidence0>", "<supported-evidence1>" ],
|
242
|
+
"supportedIdentityDocuments": [ "<supported-identity-document0>", "<supported-identity-document1>" ],
|
243
|
+
"supportedVerificationMethods": [ "<supported-verification-method0>", "<supported-verification-method1>" ],
|
244
|
+
"supportedVerifiedClaims": [ "<supported-verified-claim0>", "<supported-verified-claim1>" ],
|
245
|
+
"missingClientIdAllowed": false,
|
246
|
+
"parRequired": false,
|
247
|
+
"requestObjectRequired": true,
|
248
|
+
"traditionalRequestObjectProcessingApplied": false,
|
249
|
+
"claimShortcutRestrictive": false,
|
250
|
+
"scopeRequired": true,
|
251
|
+
"nbfOptional": true,
|
252
|
+
"issSuppressed": false
|
253
|
+
}
|
254
|
+
JSON
|
255
|
+
end
|
256
|
+
|
257
|
+
|
258
|
+
def generate_hash
|
259
|
+
{
|
260
|
+
number: 1000,
|
261
|
+
serviceOwnerNumber: 12345,
|
262
|
+
serviceName: '<service-name>',
|
263
|
+
apiKey: '<api-key>',
|
264
|
+
apiSecret: '<api-secret>',
|
265
|
+
issuer: '<issuer>',
|
266
|
+
authorizationEndpoint: '<authorization-endpoint>',
|
267
|
+
tokenEndpoint: '<token-endpoint>',
|
268
|
+
revocationEndpoint: '<revocation-endpoint>',
|
269
|
+
supportedRevocationAuthMethods: [ 'NONE', 'CLIENT_SECRET_BASIC' ],
|
270
|
+
userInfoEndpoint: '<user-info-endpoint>',
|
271
|
+
jwksUri: '<jwks-uri>',
|
272
|
+
jwks: '<jwks>',
|
273
|
+
registrationEndpoint: '<registration-endpoint>',
|
274
|
+
registrationManagementEndpoint: '<registration-management-endpoint>',
|
275
|
+
supportedScopes: [ { name: 'scope0', description: '<scope0-description>', defaultEntry: false, descriptions: nil, attributes: nil } ],
|
276
|
+
supportedResponseTypes: [ 'NONE', 'CODE', 'TOKEN', 'ID_TOKEN' ],
|
277
|
+
supportedGrantTypes: [ 'AUTHORIZATION_CODE', 'REFRESH_TOKEN' ],
|
278
|
+
supportedAcrs: [ '<supported-acr0>', '<supported-acr1>' ],
|
279
|
+
supportedTokenAuthMethods: [ 'NONE', 'CLIENT_SECRET_BASIC' ],
|
280
|
+
supportedDisplays: [ 'PAGE', 'POPUP', 'TOUCH', 'WAP' ],
|
281
|
+
supportedClaimTypes: [ 'NORMAL' ],
|
282
|
+
supportedClaims: [ '<supported-claim0>', '<supported-claim1>' ],
|
283
|
+
serviceDocumentation: '<service-documentation>',
|
284
|
+
supportedClaimLocales: [ 'en-US' ],
|
285
|
+
supportedUiLocales: [ 'en-US' ],
|
286
|
+
policyUri: '<policy-uri>',
|
287
|
+
tosUri: '<tos-uri>',
|
288
|
+
authenticationCallbackEndpoint: '<authentication-callback-endpoint>',
|
289
|
+
authenticationCallbackApiKey: '<authentication-callback-api-key>',
|
290
|
+
authenticationCallbackApiSecret: '<authentication-callback-api-secret>',
|
291
|
+
supportedSnses: [ 'FACEBOOK' ],
|
292
|
+
snsCredentials: [ { sns: 'FACEBOOK', apiKey: '<sns-credentials0-api-key>', apiSecret: '<sns-credentials0-api-secret>' } ],
|
293
|
+
createdAt: 10000,
|
294
|
+
modifiedAt: 10000,
|
295
|
+
developerAuthenticationCallbackEndpoint: '<developer-authentication-callback-endpoint>',
|
296
|
+
developerAuthenticationCallbackApiKey: '<developer-authentication-callback-api-key>',
|
297
|
+
developerAuthenticationCallbackApiSecret: '<developer-authentication-callback-api-secret>',
|
298
|
+
supportedDeveloperSnses: [ 'FACEBOOK' ],
|
299
|
+
developerSnsCredentials: [ { sns: 'FACEBOOK', apiKey: '<developer-sns-credentials0-api-key>', apiSecret: '<developer-sns-credentials0-api-secret>' } ],
|
300
|
+
clientsPerDeveloper: 10,
|
301
|
+
directAuthorizationEndpointEnabled: true,
|
302
|
+
directTokenEndpointEnabled: true,
|
303
|
+
directRevocationEndpointEnabled: true,
|
304
|
+
directUserInfoEndpointEnabled: true,
|
305
|
+
directJwksEndpointEnabled: true,
|
306
|
+
directIntrospectionEndpointEnabled: true,
|
307
|
+
singleAccessTokenPerSubject: false,
|
308
|
+
pkceRequired: true,
|
309
|
+
pkceS256Required: true,
|
310
|
+
refreshTokenKept: true,
|
311
|
+
refreshTokenDurationKept: true,
|
312
|
+
errorDescriptionOmitted: false,
|
313
|
+
errorUriOmitted: false,
|
314
|
+
clientIdAliasEnabled: true,
|
315
|
+
supportedServiceProfiles: [ 'FAPI', 'OPEN_BANKING' ],
|
316
|
+
tlsClientCertificateBoundAccessTokens: true,
|
317
|
+
introspectionEndpoint: '<introspection-endpoint>',
|
318
|
+
supportedIntrospectionAuthMethods: [ 'NONE', 'CLIENT_SECRET_BASIC' ],
|
319
|
+
mutualTlsValidatePkiCertChain: true,
|
320
|
+
trustedRootCertificates: [ '<trusted-root-certificate0>', '<trusted-root-certificate1>' ],
|
321
|
+
dynamicRegistrationSupported: true,
|
322
|
+
endSessionEndpoint: '<end-session-endpoint>',
|
323
|
+
description: '<description>',
|
324
|
+
accessTokenType: 'Bearer',
|
325
|
+
accessTokenSignAlg: 'HS256',
|
326
|
+
accessTokenDuration: 300,
|
327
|
+
refreshTokenDuration: 300,
|
328
|
+
idTokenDuration: 300,
|
329
|
+
authorizationResponseDuration: 300,
|
330
|
+
pushedAuthReqDuration: 300,
|
331
|
+
metadata: [ { key: '<metadata0-key>', value: '<metadata0-value>' } ],
|
332
|
+
accessTokenSignatureKeyId: '<access-token-signature-key-id>',
|
333
|
+
authorizationSignatureKeyId: '<authorization-signature-key-id>',
|
334
|
+
idTokenSignatureKeyId: '<id-token-signature-key-id>',
|
335
|
+
userInfoSignatureKeyId: '<user-info-signature-key-id>',
|
336
|
+
supportedBackchannelTokenDeliveryModes: [ 'POLL', 'PING', 'PUSH' ],
|
337
|
+
backchannelAuthenticationEndpoint: '<backchannel-authentication-endpoint>',
|
338
|
+
backchannelUserCodeParameterSupported: true,
|
339
|
+
backchannelAuthReqIdDuration: 300,
|
340
|
+
backchannelPollingInterval: 10,
|
341
|
+
backchannelBindingMessageRequiredInFapi: true,
|
342
|
+
allowableClockSkew: 100,
|
343
|
+
deviceAuthorizationEndpoint: '<device-authorization-endpoint>',
|
344
|
+
deviceVerificationUri: '<device-verification-uri>',
|
345
|
+
deviceVerificationUriComplete: '<device-verification-uri-complete>',
|
346
|
+
deviceFlowCodeDuration: 300,
|
347
|
+
deviceFlowPollingInterval: 10,
|
348
|
+
userCodeCharset: 'BASE20',
|
349
|
+
userCodeLength: 100,
|
350
|
+
pushedAuthReqEndpoint: '<pushed-auth-req-endpoint>',
|
351
|
+
mtlsEndpointAliases: [ { name: '<mtls-endpoint-alias0-name>', uri: '<mtls-endpoint-alias0-uri>' } ],
|
352
|
+
supportedAuthorizationDataTypes: [ '<supported-authorization-data-type0>', '<supported-authorization-data-type1>' ],
|
353
|
+
supportedTrustFrameworks: [ '<supported-trust-framework0>', '<supported-trust-framework1>' ],
|
354
|
+
supportedEvidence: [ '<supported-evidence0>', '<supported-evidence1>' ],
|
355
|
+
supportedIdentityDocuments: [ '<supported-identity-document0>', '<supported-identity-document1>' ],
|
356
|
+
supportedVerificationMethods: [ '<supported-verification-method0>', '<supported-verification-method1>' ],
|
357
|
+
supportedVerifiedClaims: [ '<supported-verified-claim0>', '<supported-verified-claim1>' ],
|
358
|
+
missingClientIdAllowed: false,
|
359
|
+
parRequired: false,
|
360
|
+
requestObjectRequired: true,
|
361
|
+
traditionalRequestObjectProcessingApplied: false,
|
362
|
+
claimShortcutRestrictive: false,
|
363
|
+
scopeRequired: true,
|
364
|
+
nbfOptional: true,
|
365
|
+
issSuppressed: false
|
366
|
+
}
|
367
|
+
end
|
368
|
+
|
369
|
+
|
370
|
+
def set_params(obj)
|
371
|
+
obj.number = NUMBER
|
372
|
+
obj.service_owner_number = SERVICE_OWNER_NUMBER
|
373
|
+
obj.service_name = SERVICE_NAME
|
374
|
+
obj.api_key = API_KEY
|
375
|
+
obj.api_secret = API_SECRET
|
376
|
+
obj.issuer = ISSUER
|
377
|
+
obj.authorization_endpoint = AUTHORIZATION_ENDPOINT
|
378
|
+
obj.token_endpoint = TOKEN_ENDPOINT
|
379
|
+
obj.revocation_endpoint = REVOCATION_ENDPOINT
|
380
|
+
obj.supported_revocation_auth_methods = SUPPORTED_REVOCATION_AUTH_METHODS
|
381
|
+
obj.user_info_endpoint = USER_INFO_ENDPOINT
|
382
|
+
obj.jwks_uri = JWKS_URI
|
383
|
+
obj.jwks = JWKS
|
384
|
+
obj.registration_endpoint = REGISTRATION_ENDPOINT
|
385
|
+
obj.registration_management_endpoint = REGISTRATION_MANAGEMENT_ENDPOINT
|
386
|
+
obj.supported_scopes = SUPPORTED_SCOPES
|
387
|
+
obj.supported_response_types = SUPPORTED_RESPONSE_TYPES
|
388
|
+
obj.supported_grant_types = SUPPORTED_GRANT_TYPES
|
389
|
+
obj.supported_acrs = SUPPORTED_ACRS
|
390
|
+
obj.supported_token_auth_methods = SUPPORTED_TOKEN_AUTH_METHODS
|
391
|
+
obj.supported_displays = SUPPORTED_DISPLAYS
|
392
|
+
obj.supported_claim_types = SUPPORTED_CLAIM_TYPES
|
393
|
+
obj.supported_claims = SUPPORTED_CLAIMS
|
394
|
+
obj.service_documentation = SERVICE_DOCUMENTATION
|
395
|
+
obj.supported_claim_locales = SUPPORTED_CLAIM_LOCALES
|
396
|
+
obj.supported_ui_locales = SUPPORTED_UI_LOCALES
|
397
|
+
obj.policy_uri = POLICY_URI
|
398
|
+
obj.tos_uri = TOS_URI
|
399
|
+
obj.authentication_callback_endpoint = AUTHENTICATION_CALLBACK_ENDPOINT
|
400
|
+
obj.authentication_callback_api_key = AUTHENTICATION_CALLBACK_API_KEY
|
401
|
+
obj.authentication_callback_api_secret = AUTHENTICATION_CALLBACK_API_SECRET
|
402
|
+
obj.supported_snses = SUPPORTED_SNSES
|
403
|
+
obj.sns_credentials = SNS_CREDENTIALS
|
404
|
+
obj.created_at = CREATED_AT
|
405
|
+
obj.modified_at = MODIFIED_AT
|
406
|
+
obj.developer_authentication_callback_endpoint = DEVELOPER_AUTHENTICATION_CALLBACK_ENDPOINT
|
407
|
+
obj.developer_authentication_callback_api_key = DEVELOPER_AUTHENTICATION_CALLBACK_API_KEY
|
408
|
+
obj.developer_authentication_callback_api_secret = DEVELOPER_AUTHENTICATION_CALLBACK_API_SECRET
|
409
|
+
obj.supported_developer_snses = SUPPORTED_DEVELOPER_SNSES
|
410
|
+
obj.developer_sns_credentials = DEVELOPER_SNS_CREDENTIALS
|
411
|
+
obj.clients_per_developer = CLIENTS_PER_DEVELOPER
|
412
|
+
obj.direct_authorization_endpoint_enabled = DIRECT_AUTHORIZATION_ENDPOINT_ENABLED
|
413
|
+
obj.direct_token_endpoint_enabled = DIRECT_TOKEN_ENDPOINT_ENABLED
|
414
|
+
obj.direct_revocation_endpoint_enabled = DIRECT_REVOCATION_ENDPOINT_ENABLED
|
415
|
+
obj.direct_user_info_endpoint_enabled = DIRECT_USER_INFO_ENDPOINT_ENABLED
|
416
|
+
obj.direct_jwks_endpoint_enabled = DIRECT_JWKS_ENDPOINT_ENABLED
|
417
|
+
obj.direct_introspection_endpoint_enabled = DIRECT_INTROSPECTION_ENDPOINT_ENABLED
|
418
|
+
obj.single_access_token_per_subject = SINGLE_ACCESS_TOKEN_PER_SUBJECT
|
419
|
+
obj.pkce_required = PKCE_REQUIRED
|
420
|
+
obj.pkce_s256_required = PKCE_S256_REQUIRED
|
421
|
+
obj.refresh_token_kept = REFRESH_TOKEN_KEPT
|
422
|
+
obj.refresh_token_duration_kept = REFRESH_TOKEN_DURATION_KEPT
|
423
|
+
obj.error_description_omitted = ERROR_DESCRIPTION_OMITTED
|
424
|
+
obj.error_uri_omitted = ERROR_URI_OMITTED
|
425
|
+
obj.client_id_alias_enabled = CLIENT_ID_ALIAS_ENABLED
|
426
|
+
obj.supported_service_profiles = SUPPORTED_SERVICE_PROFILES
|
427
|
+
obj.tls_client_certificate_bound_access_tokens = TLS_CLIENT_CERTIFICATE_BOUND_ACCESS_TOKENS
|
428
|
+
obj.introspection_endpoint = INTROSPECTION_ENDPOINT
|
429
|
+
obj.supported_introspection_auth_methods = SUPPORTED_INTROSPECTION_AUTH_METHODS
|
430
|
+
obj.mutual_tls_validate_pki_cert_chain = MUTUAL_TLS_VALIDATE_PKI_CERT_CHAIN
|
431
|
+
obj.trusted_root_certificates = TRUSTED_ROOT_CERTIFICATES
|
432
|
+
obj.dynamic_registration_supported = DYNAMIC_REGISTRATION_SUPPORTED
|
433
|
+
obj.end_session_endpoint = END_SESSION_ENDPOINT
|
434
|
+
obj.description = DESCRIPTION
|
435
|
+
obj.access_token_type = ACCESS_TOKEN_TYPE
|
436
|
+
obj.access_token_sign_alg = ACCESS_TOKEN_SIGN_ALG
|
437
|
+
obj.access_token_duration = ACCESS_TOKEN_DURATION
|
438
|
+
obj.refresh_token_duration = REFRESH_TOKEN_DURATION
|
439
|
+
obj.id_token_duration = ID_TOKEN_DURATION
|
440
|
+
obj.authorization_response_duration = AUTHORIZATION_RESPONSE_DURATION
|
441
|
+
obj.pushed_auth_req_duration = PUSHED_AUTH_REQ_DURATION
|
442
|
+
obj.metadata = METADATA
|
443
|
+
obj.access_token_signature_key_id = ACCESS_TOKEN_SIGNATURE_KEY_ID
|
444
|
+
obj.authorization_signature_key_id = AUTHORIZATION_SIGNATURE_KEY_ID
|
445
|
+
obj.id_token_signature_key_id = ID_TOKEN_SIGNATURE_KEY_ID
|
446
|
+
obj.user_info_signature_key_id = USER_INFO_SIGNATURE_KEY_ID
|
447
|
+
obj.supported_backchannel_token_delivery_modes = SUPPORTED_BACKCHANNEL_TOKEN_DELIVERY_MODES
|
448
|
+
obj.backchannel_authentication_endpoint = BACKCHANNEL_AUTHENTICATION_ENDPOINT
|
449
|
+
obj.backchannel_user_code_parameter_supported = BACKCHANNEL_USER_CODE_PARAMETER_SUPPORTED
|
450
|
+
obj.backchannel_auth_req_id_duration = BACKCHANNEL_AUTH_REQ_ID_DURATION
|
451
|
+
obj.backchannel_polling_interval = BACKCHANNEL_POLLING_INTERVAL
|
452
|
+
obj.backchannel_binding_message_required_in_fapi = BACKCHANNEL_BINDING_MESSAGE_REQUIRED_IN_FAPI
|
453
|
+
obj.allowable_clock_skew = ALLOWABLE_CLOCK_SKEW
|
454
|
+
obj.device_authorization_endpoint = DEVICE_AUTHORIZATION_ENDPOINT
|
455
|
+
obj.device_verification_uri = DEVICE_VERIFICATION_URI
|
456
|
+
obj.device_verification_uri_complete = DEVICE_VERIFICATION_URI_COMPLETE
|
457
|
+
obj.device_flow_code_duration = DEVICE_FLOW_CODE_DURATION
|
458
|
+
obj.device_flow_polling_interval = DEVICE_FLOW_POLLING_INTERVAL
|
459
|
+
obj.user_code_charset = USER_CODE_CHARSET
|
460
|
+
obj.user_code_length = USER_CODE_LENGTH
|
461
|
+
obj.pushed_auth_req_endpoint = PUSHED_AUTH_REQ_ENDPOINT
|
462
|
+
obj.mtls_endpoint_aliases = MTLS_ENDPOINT_ALIASES
|
463
|
+
obj.supported_authorization_data_types = SUPPORTED_AUTHORIZATION_DATA_TYPES
|
464
|
+
obj.supported_trust_frameworks = SUPPORTED_TRUST_FRAMEWORKS
|
465
|
+
obj.supported_evidence = SUPPORTED_EVIDENCE
|
466
|
+
obj.supported_identity_documents = SUPPORTED_IDENTITY_DOCUMENTS
|
467
|
+
obj.supported_verification_methods = SUPPORTED_VERIFICATION_METHODS
|
468
|
+
obj.supported_verified_claims = SUPPORTED_VERIFIED_CLAIMS
|
469
|
+
obj.missing_client_id_allowed = MISSING_CLIENT_ID_ALLOWED
|
470
|
+
obj.par_required = PAR_REQUIRED
|
471
|
+
obj.request_object_required = REQUEST_OBJECT_REQUIRED
|
472
|
+
obj.traditional_request_object_processing_applied = TRADITIONAL_REQUEST_OBJECT_PROCESSING_APPLIED
|
473
|
+
obj.claim_shortcut_restrictive = CLAIM_SHORTCUT_RESTRICTIVE
|
474
|
+
obj.scope_required = SCOPE_REQUIRED
|
475
|
+
obj.nbf_optional = NBF_OPTIONAL
|
476
|
+
obj.iss_suppressed = ISS_SUPPRESSED
|
477
|
+
|
478
|
+
obj
|
479
|
+
end
|
480
|
+
|
481
|
+
|
482
|
+
def match(obj)
|
483
|
+
assert_equal NUMBER, obj.number
|
484
|
+
assert_equal SERVICE_OWNER_NUMBER, obj.serviceOwnerNumber
|
485
|
+
assert_equal SERVICE_NAME, obj.serviceName
|
486
|
+
assert_equal API_KEY, obj.apiKey
|
487
|
+
assert_equal API_SECRET, obj.apiSecret
|
488
|
+
assert_equal ISSUER, obj.issuer
|
489
|
+
assert_equal AUTHORIZATION_ENDPOINT, obj.authorizationEndpoint
|
490
|
+
assert_equal TOKEN_ENDPOINT, obj.tokenEndpoint
|
491
|
+
assert_equal REVOCATION_ENDPOINT, obj.revocationEndpoint
|
492
|
+
assert_equal SUPPORTED_REVOCATION_AUTH_METHODS, obj.supportedRevocationAuthMethods
|
493
|
+
assert_equal USER_INFO_ENDPOINT, obj.userInfoEndpoint
|
494
|
+
assert_equal JWKS_URI, obj.jwksUri
|
495
|
+
assert_equal JWKS, obj.jwks
|
496
|
+
assert_equal REGISTRATION_ENDPOINT, obj.registrationEndpoint
|
497
|
+
assert_equal REGISTRATION_MANAGEMENT_ENDPOINT, obj.registrationManagementEndpoint
|
498
|
+
assert_equal SUPPORTED_SCOPE_NAME, obj.supportedScopes[0].name
|
499
|
+
assert_equal SUPPORTED_SCOPE_DESCRIPTION, obj.supportedScopes[0].description
|
500
|
+
assert_equal SUPPORTED_RESPONSE_TYPES, obj.supportedResponseTypes
|
501
|
+
assert_equal SUPPORTED_GRANT_TYPES, obj.supportedGrantTypes
|
502
|
+
assert_equal SUPPORTED_ACRS, obj.supportedAcrs
|
503
|
+
assert_equal SUPPORTED_TOKEN_AUTH_METHODS, obj.supportedTokenAuthMethods
|
504
|
+
assert_equal SUPPORTED_DISPLAYS, obj.supportedDisplays
|
505
|
+
assert_equal SUPPORTED_CLAIM_TYPES, obj.supportedClaimTypes
|
506
|
+
assert_equal SUPPORTED_CLAIMS, obj.supportedClaims
|
507
|
+
assert_equal SERVICE_DOCUMENTATION, obj.serviceDocumentation
|
508
|
+
assert_equal SUPPORTED_CLAIM_LOCALES, obj.supportedClaimLocales
|
509
|
+
assert_equal SUPPORTED_UI_LOCALES, obj.supportedUiLocales
|
510
|
+
assert_equal POLICY_URI, obj.policyUri
|
511
|
+
assert_equal TOS_URI, obj.tosUri
|
512
|
+
assert_equal AUTHENTICATION_CALLBACK_ENDPOINT, obj.authenticationCallbackEndpoint
|
513
|
+
assert_equal AUTHENTICATION_CALLBACK_API_KEY, obj.authenticationCallbackApiKey
|
514
|
+
assert_equal AUTHENTICATION_CALLBACK_API_SECRET, obj.authenticationCallbackApiSecret
|
515
|
+
assert_equal SUPPORTED_SNSES, obj.supportedSnses
|
516
|
+
assert_equal SNS_CREDENTIALS_SNS, obj.snsCredentials[0].sns
|
517
|
+
assert_equal SNS_CREDENTIALS_API_KEY, obj.snsCredentials[0].apiKey
|
518
|
+
assert_equal SNS_CREDENTIALS_API_SECRET, obj.snsCredentials[0].apiSecret
|
519
|
+
assert_equal CREATED_AT, obj.createdAt
|
520
|
+
assert_equal MODIFIED_AT, obj.modifiedAt
|
521
|
+
assert_equal DEVELOPER_AUTHENTICATION_CALLBACK_ENDPOINT, obj.developerAuthenticationCallbackEndpoint
|
522
|
+
assert_equal DEVELOPER_AUTHENTICATION_CALLBACK_API_KEY, obj.developerAuthenticationCallbackApiKey
|
523
|
+
assert_equal DEVELOPER_AUTHENTICATION_CALLBACK_API_SECRET, obj.developerAuthenticationCallbackApiSecret
|
524
|
+
assert_equal SUPPORTED_DEVELOPER_SNSES, obj.supportedDeveloperSnses
|
525
|
+
assert_equal DEVELOPER_SNS_CREDENTIALS_SNS, obj.developerSnsCredentials[0].sns
|
526
|
+
assert_equal DEVELOPER_SNS_CREDENTIALS_API_KEY, obj.developerSnsCredentials[0].apiKey
|
527
|
+
assert_equal DEVELOPER_SNS_CREDENTIALS_API_SECRET, obj.developerSnsCredentials[0].apiSecret
|
528
|
+
assert_equal CLIENTS_PER_DEVELOPER, obj.clientsPerDeveloper
|
529
|
+
assert_equal DIRECT_AUTHORIZATION_ENDPOINT_ENABLED, obj.directAuthorizationEndpointEnabled
|
530
|
+
assert_equal DIRECT_TOKEN_ENDPOINT_ENABLED, obj.directTokenEndpointEnabled
|
531
|
+
assert_equal DIRECT_REVOCATION_ENDPOINT_ENABLED, obj.directRevocationEndpointEnabled
|
532
|
+
assert_equal DIRECT_USER_INFO_ENDPOINT_ENABLED, obj.directUserInfoEndpointEnabled
|
533
|
+
assert_equal DIRECT_JWKS_ENDPOINT_ENABLED, obj.directJwksEndpointEnabled
|
534
|
+
assert_equal DIRECT_INTROSPECTION_ENDPOINT_ENABLED, obj.directIntrospectionEndpointEnabled
|
535
|
+
assert_equal SINGLE_ACCESS_TOKEN_PER_SUBJECT, obj.singleAccessTokenPerSubject
|
536
|
+
assert_equal PKCE_REQUIRED, obj.pkceRequired
|
537
|
+
assert_equal PKCE_S256_REQUIRED, obj.pkceS256Required
|
538
|
+
assert_equal REFRESH_TOKEN_KEPT, obj.refreshTokenKept
|
539
|
+
assert_equal REFRESH_TOKEN_DURATION_KEPT, obj.refreshTokenDurationKept
|
540
|
+
assert_equal ERROR_DESCRIPTION_OMITTED, obj.errorDescriptionOmitted
|
541
|
+
assert_equal ERROR_URI_OMITTED, obj.errorUriOmitted
|
542
|
+
assert_equal CLIENT_ID_ALIAS_ENABLED, obj.clientIdAliasEnabled
|
543
|
+
assert_equal SUPPORTED_SERVICE_PROFILES, obj.supportedServiceProfiles
|
544
|
+
assert_equal TLS_CLIENT_CERTIFICATE_BOUND_ACCESS_TOKENS, obj.tlsClientCertificateBoundAccessTokens
|
545
|
+
assert_equal INTROSPECTION_ENDPOINT, obj.introspectionEndpoint
|
546
|
+
assert_equal SUPPORTED_INTROSPECTION_AUTH_METHODS, obj.supportedIntrospectionAuthMethods
|
547
|
+
assert_equal MUTUAL_TLS_VALIDATE_PKI_CERT_CHAIN, obj.mutualTlsValidatePkiCertChain
|
548
|
+
assert_equal TRUSTED_ROOT_CERTIFICATES, obj.trustedRootCertificates
|
549
|
+
assert_equal DYNAMIC_REGISTRATION_SUPPORTED, obj.dynamicRegistrationSupported
|
550
|
+
assert_equal END_SESSION_ENDPOINT, obj.endSessionEndpoint
|
551
|
+
assert_equal DESCRIPTION, obj.description
|
552
|
+
assert_equal ACCESS_TOKEN_TYPE, obj.accessTokenType
|
553
|
+
assert_equal ACCESS_TOKEN_SIGN_ALG, obj.accessTokenSignAlg
|
554
|
+
assert_equal ACCESS_TOKEN_DURATION, obj.accessTokenDuration
|
555
|
+
assert_equal REFRESH_TOKEN_DURATION, obj.refreshTokenDuration
|
556
|
+
assert_equal ID_TOKEN_DURATION, obj.idTokenDuration
|
557
|
+
assert_equal AUTHORIZATION_RESPONSE_DURATION, obj.authorizationResponseDuration
|
558
|
+
assert_equal PUSHED_AUTH_REQ_DURATION, obj.pushedAuthReqDuration
|
559
|
+
assert_equal METADATA_KEY, obj.metadata[0].key
|
560
|
+
assert_equal METADATA_VALUE, obj.metadata[0].value
|
561
|
+
assert_equal ACCESS_TOKEN_SIGNATURE_KEY_ID, obj.accessTokenSignatureKeyId
|
562
|
+
assert_equal AUTHORIZATION_SIGNATURE_KEY_ID, obj.authorizationSignatureKeyId
|
563
|
+
assert_equal ID_TOKEN_SIGNATURE_KEY_ID, obj.idTokenSignatureKeyId
|
564
|
+
assert_equal USER_INFO_SIGNATURE_KEY_ID, obj.userInfoSignatureKeyId
|
565
|
+
assert_equal SUPPORTED_BACKCHANNEL_TOKEN_DELIVERY_MODES, obj.supportedBackchannelTokenDeliveryModes
|
566
|
+
assert_equal BACKCHANNEL_AUTHENTICATION_ENDPOINT, obj.backchannelAuthenticationEndpoint
|
567
|
+
assert_equal BACKCHANNEL_USER_CODE_PARAMETER_SUPPORTED, obj.backchannelUserCodeParameterSupported
|
568
|
+
assert_equal BACKCHANNEL_AUTH_REQ_ID_DURATION, obj.backchannelAuthReqIdDuration
|
569
|
+
assert_equal BACKCHANNEL_POLLING_INTERVAL, obj.backchannelPollingInterval
|
570
|
+
assert_equal BACKCHANNEL_BINDING_MESSAGE_REQUIRED_IN_FAPI, obj.backchannelBindingMessageRequiredInFapi
|
571
|
+
assert_equal ALLOWABLE_CLOCK_SKEW, obj.allowableClockSkew
|
572
|
+
assert_equal DEVICE_AUTHORIZATION_ENDPOINT, obj.deviceAuthorizationEndpoint
|
573
|
+
assert_equal DEVICE_VERIFICATION_URI, obj.deviceVerificationUri
|
574
|
+
assert_equal DEVICE_VERIFICATION_URI_COMPLETE, obj.deviceVerificationUriComplete
|
575
|
+
assert_equal DEVICE_FLOW_CODE_DURATION, obj.deviceFlowCodeDuration
|
576
|
+
assert_equal DEVICE_FLOW_POLLING_INTERVAL, obj.deviceFlowPollingInterval
|
577
|
+
assert_equal USER_CODE_CHARSET, obj.userCodeCharset
|
578
|
+
assert_equal USER_CODE_LENGTH, obj.userCodeLength
|
579
|
+
assert_equal PUSHED_AUTH_REQ_ENDPOINT, obj.pushedAuthReqEndpoint
|
580
|
+
assert_equal MTLS_ENDPOINT_ALIAS_NAME, obj.mtlsEndpointAliases[0].name
|
581
|
+
assert_equal MTLS_ENDPOINT_ALIAS_URI, obj.mtlsEndpointAliases[0].uri
|
582
|
+
assert_equal SUPPORTED_AUTHORIZATION_DATA_TYPES, obj.supportedAuthorizationDataTypes
|
583
|
+
assert_equal SUPPORTED_TRUST_FRAMEWORKS, obj.supportedTrustFrameworks
|
584
|
+
assert_equal SUPPORTED_EVIDENCE, obj.supportedEvidence
|
585
|
+
assert_equal SUPPORTED_IDENTITY_DOCUMENTS, obj.supportedIdentityDocuments
|
586
|
+
assert_equal SUPPORTED_VERIFICATION_METHODS, obj.supportedVerificationMethods
|
587
|
+
assert_equal SUPPORTED_VERIFIED_CLAIMS, obj.supportedVerifiedClaims
|
588
|
+
assert_equal MISSING_CLIENT_ID_ALLOWED, obj.missingClientIdAllowed
|
589
|
+
assert_equal PAR_REQUIRED, obj.parRequired
|
590
|
+
assert_equal REQUEST_OBJECT_REQUIRED, obj.requestObjectRequired
|
591
|
+
assert_equal TRADITIONAL_REQUEST_OBJECT_PROCESSING_APPLIED, obj.traditionalRequestObjectProcessingApplied
|
592
|
+
assert_equal CLAIM_SHORTCUT_RESTRICTIVE, obj.claimShortcutRestrictive
|
593
|
+
assert_equal SCOPE_REQUIRED, obj.scopeRequired
|
594
|
+
assert_equal NBF_OPTIONAL, obj.nbfOptional
|
595
|
+
assert_equal ISS_SUPPRESSED, obj.issSuppressed
|
596
|
+
end
|
597
|
+
|
598
|
+
|
599
|
+
def test_from_json
|
600
|
+
jsn = generate_json
|
601
|
+
hsh = JSON.parse(jsn)
|
602
|
+
actual = Authlete::Model::Service.new(hsh)
|
603
|
+
|
604
|
+
match(actual)
|
605
|
+
end
|
606
|
+
|
607
|
+
|
608
|
+
def test_setters
|
609
|
+
actual = Authlete::Model::Service.new
|
610
|
+
set_params(actual)
|
611
|
+
|
612
|
+
match(actual)
|
613
|
+
end
|
614
|
+
|
615
|
+
|
616
|
+
def test_to_hash
|
617
|
+
obj = Authlete::Model::Service.new
|
618
|
+
set_params(obj)
|
619
|
+
actual = obj.to_hash
|
620
|
+
expected = generate_hash
|
621
|
+
|
622
|
+
assert_equal expected, actual
|
623
|
+
end
|
624
|
+
end
|