authlete 1.0.24 → 1.1.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.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Makefile +40 -0
  4. data/Rakefile +5 -0
  5. data/authlete.gemspec +2 -2
  6. data/lib/authlete.rb +28 -9
  7. data/lib/authlete/api.rb +146 -321
  8. data/lib/authlete/authentication-server.rb +2 -2
  9. data/lib/authlete/exception.rb +14 -15
  10. data/lib/authlete/model/base.rb +30 -0
  11. data/lib/authlete/model/client-extension.rb +17 -119
  12. data/lib/authlete/model/client.rb +196 -345
  13. data/lib/authlete/model/hashable.rb +13 -33
  14. data/lib/authlete/model/named-uri.rb +13 -74
  15. data/lib/authlete/model/pair.rb +13 -74
  16. data/lib/authlete/model/param-initializer.rb +45 -0
  17. data/lib/authlete/model/property.rb +15 -85
  18. data/lib/authlete/model/request/authentication-callback-request.rb +63 -55
  19. data/lib/authlete/model/request/authorization-fail-request.rb +14 -75
  20. data/lib/authlete/model/request/authorization-issue-request.rb +38 -119
  21. data/lib/authlete/model/request/authorization-request.rb +8 -73
  22. data/lib/authlete/model/request/backchannel-authentication-complete-request.rb +97 -0
  23. data/lib/authlete/model/request/backchannel-authentication-fail-request.rb +55 -0
  24. data/lib/authlete/model/request/backchannel-authentication-issue-request.rb +37 -0
  25. data/lib/authlete/model/request/backchannel-authentication-request.rb +63 -0
  26. data/lib/authlete/model/request/base.rb +26 -0
  27. data/lib/authlete/model/request/client-authorization-delete-request.rb +7 -93
  28. data/lib/authlete/model/request/client-authorization-get-list-request.rb +17 -89
  29. data/lib/authlete/model/request/client-authorization-update-request.rb +11 -86
  30. data/lib/authlete/model/request/client-registration-request.rb +49 -0
  31. data/lib/authlete/model/request/client-secret-update-request.rb +7 -89
  32. data/lib/authlete/model/request/developer-authentication-callback-request.rb +40 -43
  33. data/lib/authlete/model/request/device-authorization-request.rb +63 -0
  34. data/lib/authlete/model/request/device-complete-request.rb +99 -0
  35. data/lib/authlete/model/request/device-verification-request.rb +40 -0
  36. data/lib/authlete/model/request/granted-scopes-request.rb +8 -74
  37. data/lib/authlete/model/request/introspection-request.rb +24 -83
  38. data/lib/authlete/model/request/pushed-auth-req-request.rb +64 -0
  39. data/lib/authlete/model/request/revocation-request.rb +14 -88
  40. data/lib/authlete/model/request/standard-introspection-request.rb +8 -73
  41. data/lib/authlete/model/request/token-create-request.rb +52 -183
  42. data/lib/authlete/model/request/token-fail-request.rb +12 -74
  43. data/lib/authlete/model/request/token-issue-request.rb +22 -80
  44. data/lib/authlete/model/request/token-request.rb +44 -81
  45. data/lib/authlete/model/request/token-update-request.rb +35 -121
  46. data/lib/authlete/model/request/user-info-issue-request.rb +14 -80
  47. data/lib/authlete/model/request/user-info-request.rb +25 -70
  48. data/lib/authlete/model/response/access-token.rb +96 -0
  49. data/lib/authlete/model/response/authentication-callback-response.rb +24 -19
  50. data/lib/authlete/model/response/authorization-fail-response.rb +13 -15
  51. data/lib/authlete/model/response/authorization-issue-response.rb +29 -32
  52. data/lib/authlete/model/response/authorization-response.rb +97 -123
  53. data/lib/authlete/model/response/authorized-client-list-response.rb +37 -0
  54. data/lib/authlete/model/response/backchannel-authentication-complete-response.rb +143 -0
  55. data/lib/authlete/model/response/backchannel-authentication-fail-response.rb +47 -0
  56. data/lib/authlete/model/response/backchannel-authentication-issue-response.rb +63 -0
  57. data/lib/authlete/model/response/backchannel-authentication-response.rb +160 -0
  58. data/lib/authlete/model/response/client-list-response.rb +58 -0
  59. data/lib/authlete/model/response/client-registration-response.rb +50 -0
  60. data/lib/authlete/model/response/client-secret-refresh-response.rb +12 -12
  61. data/lib/authlete/model/response/client-secret-update-response.rb +12 -12
  62. data/lib/authlete/model/response/developer-authentication-callback-response.rb +24 -19
  63. data/lib/authlete/model/response/device-authorization-response.rb +134 -0
  64. data/lib/authlete/model/response/device-complete-response.rb +39 -0
  65. data/lib/authlete/model/response/device-verification-response.rb +96 -0
  66. data/lib/authlete/model/response/granted-scopes-get-response.rb +27 -19
  67. data/lib/authlete/model/response/introspection-response.rb +64 -58
  68. data/lib/authlete/model/response/pushed-auth-req-response.rb +59 -0
  69. data/lib/authlete/model/response/revocation-response.rb +12 -15
  70. data/lib/authlete/model/response/service-list-response.rb +54 -0
  71. data/lib/authlete/model/response/standard-introspection-response.rb +13 -15
  72. data/lib/authlete/model/response/token-create-response.rb +50 -55
  73. data/lib/authlete/model/response/token-fail-response.rb +14 -17
  74. data/lib/authlete/model/response/token-issue-response.rb +49 -62
  75. data/lib/authlete/model/response/token-list-response.rb +64 -0
  76. data/lib/authlete/model/response/token-response.rb +59 -79
  77. data/lib/authlete/model/response/token-update-response.rb +28 -23
  78. data/lib/authlete/model/response/user-info-issue-response.rb +16 -16
  79. data/lib/authlete/model/response/user-info-response.rb +48 -42
  80. data/lib/authlete/model/result.rb +14 -13
  81. data/lib/authlete/model/scope.rb +29 -119
  82. data/lib/authlete/model/service-owner.rb +32 -116
  83. data/lib/authlete/model/service.rb +464 -685
  84. data/lib/authlete/model/sns-credentials.rb +18 -91
  85. data/lib/authlete/model/tagged-value.rb +14 -69
  86. data/lib/authlete/utility.rb +3 -32
  87. data/lib/authlete/version.rb +3 -3
  88. data/test/authlete/model/request/test_authentication-callback-request.rb +100 -0
  89. data/test/authlete/model/request/test_authorization-fail-request.rb +67 -0
  90. data/test/authlete/model/request/test_authorization-issue-request.rb +94 -0
  91. data/test/authlete/model/request/test_authorization-request.rb +57 -0
  92. data/test/authlete/model/request/test_backchannel-authentication-complete-request.rb +102 -0
  93. data/test/authlete/model/request/test_backchannel-authentication-fail-request.rb +71 -0
  94. data/test/authlete/model/request/test_backchannel-authentication-issue-request.rb +57 -0
  95. data/test/authlete/model/request/test_backchannel-authentication-request.rb +75 -0
  96. data/test/authlete/model/request/test_client-authorization-delete-request.rb +57 -0
  97. data/test/authlete/model/request/test_client-authorization-get-list-request.rb +71 -0
  98. data/test/authlete/model/request/test_client-authorization-update-request.rb +63 -0
  99. data/test/authlete/model/request/test_client-registration-request.rb +68 -0
  100. data/test/authlete/model/request/test_device-authorization-request.rb +75 -0
  101. data/test/authlete/model/request/test_device-complete-request.rb +102 -0
  102. data/test/authlete/model/request/test_device-verification-request.rb +57 -0
  103. data/test/authlete/model/request/test_granted-scopes-request.rb +57 -0
  104. data/test/authlete/model/request/test_introspection-request.rb +79 -0
  105. data/test/authlete/model/request/test_pushed-auth-req-request.rb +75 -0
  106. data/test/authlete/model/request/test_revocation-request.rb +67 -0
  107. data/test/authlete/model/request/test_standard-introspection-request.rb +57 -0
  108. data/test/authlete/model/request/test_token-create-request.rb +110 -0
  109. data/test/authlete/model/request/test_token-fail-request.rb +63 -0
  110. data/test/authlete/model/request/test_token-issue-request.rb +70 -0
  111. data/test/authlete/model/request/test_token-request.rb +94 -0
  112. data/test/authlete/model/request/test_token-update-request.rb +82 -0
  113. data/test/authlete/model/request/test_user-info-issue-request.rb +67 -0
  114. data/test/authlete/model/request/test_user-info-request.rb +75 -0
  115. data/test/authlete/model/response/test_access-token.rb +101 -0
  116. data/test/authlete/model/response/test_authorization-fail-response.rb +68 -0
  117. data/test/authlete/model/response/test_authorization-issue-response.rb +92 -0
  118. data/test/authlete/model/response/test_authorization-response.rb +145 -0
  119. data/test/authlete/model/response/test_authorized-client-list-response.rb +83 -0
  120. data/test/authlete/model/response/test_backchannel-authentication-complete-response.rb +132 -0
  121. data/test/authlete/model/response/test_backchannel-authentication-fail-response.rb +68 -0
  122. data/test/authlete/model/response/test_backchannel-authentication-issue-response.rb +80 -0
  123. data/test/authlete/model/response/test_backchannel-authentication-response.rb +156 -0
  124. data/test/authlete/model/response/test_client-list-response.rb +79 -0
  125. data/test/authlete/model/response/test_client-secret-refresh-response.rb +68 -0
  126. data/test/authlete/model/response/test_client-secret-update-response.rb +68 -0
  127. data/test/authlete/model/response/test_device-authorization-response.rb +140 -0
  128. data/test/authlete/model/response/test_device-complete-response.rb +64 -0
  129. data/test/authlete/model/response/test_device-verification-response.rb +112 -0
  130. data/test/authlete/model/response/test_granted-scopes-get-response.rb +84 -0
  131. data/test/authlete/model/response/test_introspection-response.rb +127 -0
  132. data/test/authlete/model/response/test_pushed-auth-req-response.rb +76 -0
  133. data/test/authlete/model/response/test_revocation-response.rb +68 -0
  134. data/test/authlete/model/response/test_service-list-response.rb +72 -0
  135. data/test/authlete/model/response/test_standard-introspection-response.rb +68 -0
  136. data/test/authlete/model/response/test_token-create-response.rb +107 -0
  137. data/test/authlete/model/response/test_token-fail-response.rb +68 -0
  138. data/test/authlete/model/response/test_token-issue-response.rb +127 -0
  139. data/test/authlete/model/response/test_token-list-response.rb +84 -0
  140. data/test/authlete/model/response/test_token-response.rb +147 -0
  141. data/test/authlete/model/response/test_token-update-response.rb +87 -0
  142. data/test/authlete/model/response/test_user-info-issue-response.rb +68 -0
  143. data/test/authlete/model/response/test_user-info-response.rb +107 -0
  144. data/test/authlete/model/test_client-extension.rb +95 -0
  145. data/test/authlete/model/test_client.rb +461 -0
  146. data/test/authlete/model/test_named-uri.rb +85 -0
  147. data/test/authlete/model/test_pair.rb +85 -0
  148. data/test/authlete/model/test_property.rb +90 -0
  149. data/test/authlete/model/test_result.rb +68 -0
  150. data/test/authlete/model/test_scope.rb +106 -0
  151. data/test/authlete/model/test_service-owner.rb +80 -0
  152. data/test/authlete/model/test_service.rb +614 -0
  153. data/test/authlete/model/test_sns-credentials.rb +88 -0
  154. data/test/authlete/model/test_tagged-value.rb +83 -0
  155. data/test/authlete/test_exception.rb +70 -0
  156. metadata +169 -9
  157. data/lib/authlete/model/client-list.rb +0 -129
  158. data/lib/authlete/model/response/client-authorization-get-list-response.rb +0 -60
  159. data/lib/authlete/model/response/service-creatable-response.rb +0 -51
  160. data/lib/authlete/model/service-list.rb +0 -128
@@ -0,0 +1,59 @@
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
+ module Authlete
19
+ module Model
20
+ module Response
21
+ class PushedAuthReqResponse < Authlete::Model::Result
22
+
23
+ attr_accessor :action
24
+
25
+ attr_accessor :responseContent
26
+ alias_method :response_content, :responseContent
27
+ alias_method :response_content=, :responseContent=
28
+
29
+ attr_accessor :clientAuthMethod
30
+ alias_method :client_auth_method, :clientAuthMethod
31
+ alias_method :client_auth_method=, :clientAuthMethod=
32
+
33
+ attr_accessor :requestUri
34
+ alias_method :request_uri, :requestUri
35
+ alias_method :request_uri=, :requestUri=
36
+
37
+ private
38
+
39
+ def defaults
40
+ super.merge(
41
+ action: nil,
42
+ responseContent: nil,
43
+ clientAuthMethod: nil,
44
+ requestUri: nil
45
+ )
46
+ end
47
+
48
+ def set_params(hash)
49
+ super(hash)
50
+
51
+ @action = hash[:action]
52
+ @responseContent = hash[:responseContent]
53
+ @clientAuthMethod = hash[:clientAuthMethod]
54
+ @requestUri = hash[:requestUri]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -1,6 +1,6 @@
1
1
  # :nodoc:
2
2
  #
3
- # Copyright (C) 2014-2018 Authlete, Inc.
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -18,32 +18,29 @@
18
18
  module Authlete
19
19
  module Model
20
20
  module Response
21
- # == Authlete::Model::Response::RevicationResponse class
22
- #
23
- # This class represents a response from Authlete's /api/auth/revocation API.
24
21
  class RevocationResponse < Authlete::Model::Result
25
- # The next action that the service implementation should take.
26
- # (String)
27
22
  attr_accessor :action
28
23
 
29
- # The response content which can be used to generate a response
30
- # to the client application. The format of the value varies
31
- # depending on the value of "action". (String)
32
24
  attr_accessor :responseContent
33
25
  alias_method :response_content, :responseContent
34
26
  alias_method :response_content=, :responseContent=
35
27
 
36
28
  private
37
29
 
38
- # The constructor which takes a hash that represents a JSON response
39
- # from Authlete's /api/auth/revocation API.
40
- def initialize(hash = {})
30
+ def defaults
31
+ super.merge(
32
+ action: nil,
33
+ responseContent: nil
34
+ )
35
+ end
36
+
37
+ def set_params(hash)
41
38
  super(hash)
42
39
 
43
- @action = extract_value(hash, :action)
44
- @responseContent = extract_value(hash, :responseContent)
40
+ @action = hash[:action]
41
+ @responseContent = hash[:responseContent]
45
42
  end
46
43
  end
47
44
  end
48
45
  end
49
- end
46
+ end
@@ -0,0 +1,54 @@
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
+ module Authlete
19
+ module Model
20
+ module Response
21
+ class ServiceListResponse < Authlete::Model::Base
22
+ include Authlete::Utility
23
+
24
+ attr_accessor :start
25
+
26
+ attr_accessor :end
27
+
28
+ attr_accessor :totalCount
29
+ alias_method :total_count, :totalCount
30
+ alias_method :total_count=, :totalCount=
31
+
32
+ attr_accessor :services
33
+
34
+ private
35
+
36
+ def defaults
37
+ {
38
+ start: 0,
39
+ end: 0,
40
+ totalCount: 0,
41
+ services: nil
42
+ }
43
+ end
44
+
45
+ def set_params(hash)
46
+ @start = hash[:start]
47
+ @end = hash[:end]
48
+ @totalCount = hash[:totalCount]
49
+ @services = get_parsed_array(hash[:services]) { |e| Authlete::Model::Service.parse(e) }
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,6 +1,6 @@
1
1
  # :nodoc:
2
2
  #
3
- # Copyright (C) 2014-2018 Authlete, Inc.
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -18,32 +18,30 @@
18
18
  module Authlete
19
19
  module Model
20
20
  module Response
21
- # == Authlete::Model::Response::StandardIntrospectionResponse class
22
- #
23
- # This class represents a response from Authlete's /api/auth/introspection/standard API.
24
21
  class StandardIntrospectionResponse < Authlete::Model::Result
25
- # The next action that the service implementation should take.
26
- # (String)
22
+
27
23
  attr_accessor :action
28
24
 
29
- # The response content which can be used to generate a response
30
- # to the client application. The format of the value varies
31
- # depending on the value of "action". (String)
32
25
  attr_accessor :responseContent
33
26
  alias_method :response_content, :responseContent
34
27
  alias_method :response_content=, :responseContent=
35
28
 
36
29
  private
37
30
 
38
- # The constructor which takes a hash that represents a JSON response
39
- # from Authlete's /api/auth/introspection/standard API.
40
- def initialize(hash = {})
31
+ def defaults
32
+ super.merge(
33
+ action: nil,
34
+ responseContent: nil
35
+ )
36
+ end
37
+
38
+ def set_params(hash)
41
39
  super(hash)
42
40
 
43
- @action = extract_value(hash, :action)
44
- @responseContent = extract_value(hash, :responseContent)
41
+ @action = hash[:action]
42
+ @responseContent = hash[:responseContent]
45
43
  end
46
44
  end
47
45
  end
48
46
  end
49
- end
47
+ end
@@ -1,6 +1,6 @@
1
1
  # :nodoc:
2
2
  #
3
- # Copyright (C) 2014-2018 Authlete, Inc.
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -18,83 +18,78 @@
18
18
  module Authlete
19
19
  module Model
20
20
  module Response
21
- # == Authlete::Model::Response::TokenCreateResponse class
22
- #
23
- # A class that represents a response from Authlete's
24
- # /api/auth/token/create API.
25
21
  class TokenCreateResponse < Authlete::Model::Result
26
- # The next action which the caller of the API should take next.
27
- # (String)
22
+
28
23
  attr_accessor :action
29
24
 
30
- # The newly issued access token. (String)
31
- attr_accessor :accessToken
32
- alias_method :access_token, :accessToken
33
- alias_method :access_token=, :accessToken=
25
+ attr_accessor :grantType
26
+ alias_method :grant_type, :grantType
27
+ alias_method :grant_type=, :grantType=
34
28
 
35
- # The ID of the client application which is associated with the access
36
- # token. (Integer)
37
29
  attr_accessor :clientId
38
30
  alias_method :client_id, :clientId
39
31
  alias_method :client_id=, :clientId=
40
32
 
41
- # The time at which the access token expires. (Integer)
42
- attr_accessor :expiresAt
43
- alias_method :expires_at, :expiresAt
44
- alias_method :expires_at=, :expiresAt=
33
+ attr_accessor :subject
34
+
35
+ attr_accessor :scopes
36
+
37
+ attr_accessor :accessToken
38
+ alias_method :access_token, :accessToken
39
+ alias_method :access_token=, :accessToken=
40
+
41
+ attr_accessor :tokenType
42
+ alias_method :token_type, :tokenType
43
+ alias_method :token_type=, :tokenType=
45
44
 
46
- # The duration of the newly issued access token in seconds. (Integer)
47
- attr_accessor :expires_in
45
+ attr_accessor :expiresIn
48
46
  alias_method :expires_in, :expiresIn
49
47
  alias_method :expires_in=, :expiresIn=
50
48
 
51
- # The grant type for the newly issued access token. (String)
52
- attr_accessor :grantType
53
- alias_method :grant_type, :grantType
54
- alias_method :grant_type=, :grantType=
55
-
56
- # Extra properties associated with the access token. (Property array)
57
- attr_accessor :properties
49
+ attr_accessor :expiresAt
50
+ alias_method :expires_at, :expiresAt
51
+ alias_method :expires_at=, :expiresAt=
58
52
 
59
- # The newly issued refresh token. (String)
60
53
  attr_accessor :refreshToken
61
54
  alias_method :refresh_token, :refreshToken
62
55
  alias_method :refresh_token=, :refreshToken=
63
56
 
64
- # The scopes which is associated with the access token. (String array)
65
- attr_accessor :scopes
57
+ attr_accessor :properties
66
58
 
67
- # The subject which is associated with the access token.
68
- # This is <tt>nil</tt> if the access token was created
69
- # through {Client Credentials Flow}[https://tools.ietf.org/html/rfc6749#section-4.4].
70
- # (String)
71
- attr_accessor :subject
59
+ private
72
60
 
73
- # The token type of the access token. (String)
74
- attr_accessor :tokenType
75
- alias_method :token_type, :tokenType
76
- alias_method :token_type=, :tokenType=
61
+ def defaults
62
+ super.merge(
63
+ action: nil,
64
+ grantType: nil,
65
+ clientId: 0,
66
+ subject: nil,
67
+ scopes: nil,
68
+ accessToken: nil,
69
+ tokenType: nil,
70
+ expiresIn: 0,
71
+ expiresAt: 0,
72
+ refreshToken: nil,
73
+ properties: nil
74
+ )
75
+ end
77
76
 
78
- # The constructor which takes a hash that represents a JSON response
79
- # from /api/auth/token/create API.
80
- def initialize(hash = {})
77
+ def set_params(hash)
81
78
  super(hash)
82
79
 
83
- @action = extract_value(hash, :action)
84
- @accessToken = extract_value(hash, :accessToken)
85
- @clientId = extract_integer_value(hash, :clientId)
86
- @expiresAt = extract_integer_value(hash, :expiresAt)
87
- @expiresIn = extract_integer_value(hash, :expiresIn)
88
- @grantType = extract_value(hash, :grantType)
89
- @properties = extract_array_value(hash, :scopes) do |element|
90
- Authlete::Model::Property.parse(element)
91
- end
92
- @refreshToken = extract_value(hash, :refreshToken)
93
- @scopes = extract_value(hash, :scopes)
94
- @subject = extract_value(hash, :subject)
95
- @tokenType = extract_value(hash, :tokenType)
80
+ @action = hash[:action]
81
+ @grantType = hash[:grantType]
82
+ @clientId = hash[:clientId]
83
+ @subject = hash[:subject]
84
+ @scopes = hash[:scopes]
85
+ @accessToken = hash[:accessToken]
86
+ @tokenType = hash[:tokenType]
87
+ @expiresIn = hash[:expiresIn]
88
+ @expiresAt = hash[:expiresAt]
89
+ @refreshToken = hash[:refreshToken]
90
+ @properties = get_parsed_array(hash[:properties]) { |e| Authlete::Model::Property.parse(e) }
96
91
  end
97
92
  end
98
93
  end
99
94
  end
100
- end
95
+ end
@@ -1,6 +1,6 @@
1
1
  # :nodoc:
2
2
  #
3
- # Copyright (C) 2014-2018 Authlete, Inc.
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -18,33 +18,30 @@
18
18
  module Authlete
19
19
  module Model
20
20
  module Response
21
- # == Authlete::Model::Response::TokenFailRequest class
22
- #
23
- # This class represents a response from Authlete's /api/auth/token API.
24
- class TokenFailRequest
25
- include Authlete::Utility < Authlete::Model::Result
26
- # The next action that the service implementation should take.
27
- # (String)
21
+ class TokenFailResponse < Authlete::Model::Result
22
+
28
23
  attr_accessor :action
29
24
 
30
- # The response content which can be used to generate a response
31
- # to the client application. The format of the value varies
32
- # depending on the value of "action". (String)
33
25
  attr_accessor :responseContent
34
26
  alias_method :response_content, :responseContent
35
27
  alias_method :response_content=, :responseContent=
36
28
 
37
29
  private
38
30
 
39
- # The constructor which takes a hash that represents a JSON response
40
- # from Authlete's /api/auth/token/fail API.
41
- def initialize(hash = {})
31
+ def defaults
32
+ super.merge(
33
+ action: nil,
34
+ responseContent: nil
35
+ )
36
+ end
37
+
38
+ def set_params(hash)
42
39
  super(hash)
43
40
 
44
- @action = extract_value(hash, :action)
45
- @responseContent = extract_value(hash, :responseContent)
41
+ @action = hash[:action]
42
+ @responseContent = hash[:responseContent]
46
43
  end
47
44
  end
48
45
  end
49
46
  end
50
- end
47
+ end
@@ -1,6 +1,6 @@
1
1
  # :nodoc:
2
2
  #
3
- # Copyright (C) 2014-2018 Authlete, Inc.
3
+ # Copyright (C) 2014-2020 Authlete, Inc.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -18,122 +18,109 @@
18
18
  module Authlete
19
19
  module Model
20
20
  module Response
21
- # == Authlete::Model::Response::TokenIssueResponse class
22
- #
23
- # This class represents a response from Authlete's /api/auth/token/issue API.
24
21
  class TokenIssueResponse < Authlete::Model::Result
25
22
  include Authlete::Utility
26
- # The next action that the service implementation should take.
27
- # (String)
23
+
28
24
  attr_accessor :action
29
25
 
30
- # The response content which can be used to generate a response
31
- # to the client application. The format of the value varies
32
- # depending on the value of "action". (String)
33
26
  attr_accessor :responseContent
34
27
  alias_method :response_content, :responseContent
35
28
  alias_method :response_content=, :responseContent=
36
29
 
37
- # The newly issued access token. This parameter is a non-nil value
38
- # only when the value of "action" parameter is "OK". (String)
39
30
  attr_accessor :accessToken
40
31
  alias_method :access_token, :accessToken
41
32
  alias_method :access_token=, :accessToken=
42
33
 
43
- # The datetime at which the newly issued access token will expire.
44
- # The value is represented in milliseconds since the Unix epoch (1970-01-01).
45
- # (Integer)
46
34
  attr_accessor :accessTokenExpiresAt
47
35
  alias_method :access_token_expires_at, :accessTokenExpiresAt
48
36
  alias_method :access_token_expires_at=, :accessTokenExpiresAt=
49
37
 
50
- # The duration of the newly issued access token in seconds. (Integer)
51
38
  attr_accessor :accessTokenDuration
52
39
  alias_method :access_token_duration, :accessTokenDuration
53
40
  alias_method :access_token_duration=, :accessTokenDuration=
54
41
 
55
- # The refresh token. This parameter is a non-nil value only when
56
- # "action" = "OK" and the service supports the refresh token flow.
57
- # If "Refresh Token Continuous Use" configuration parameter is "NO"
58
- # (= refreshTokenKept=false), a new refresh token is issued and the
59
- # old refresh token used in the refresh token flow is invalidated.
60
- # On the contrary, if the configuration parameter is "YES", the refresh
61
- # token itself is not refreshed. (String)
62
42
  attr_accessor :refreshToken
63
43
  alias_method :refresh_token, :refreshToken
64
44
  alias_method :refresh_token=, :refreshToken=
65
45
 
66
- # The datetime at which the newly issued refresh token will expire.
67
- # The value is represented in milliseconds since the Unix epoch (1970-01-01).
68
- # (Integer)
69
46
  attr_accessor :refreshTokenExpiresAt
70
47
  alias_method :refresh_token_expires_at, :refreshTokenExpiresAt
71
48
  alias_method :refresh_token_expires_at=, :refreshTokenExpiresAt=
72
49
 
73
- # The duration of the newly issued refresh token in seconds. (Integer)
74
50
  attr_accessor :refreshTokenDuration
75
51
  alias_method :refresh_token_duration, :refreshTokenDuration
76
52
  alias_method :refresh_token_duration=, :refreshTokenDuration=
77
53
 
78
- # The client ID. (Integer)
79
54
  attr_accessor :clientId
80
55
  alias_method :client_id, :clientId
81
56
  alias_method :client_id=, :clientId=
82
57
 
83
- # If the client did not have an alias, this parameter is nil. (String)
84
58
  attr_accessor :clientIdAlias
85
59
  alias_method :client_id_alias, :clientIdAlias
86
60
  alias_method :client_id_alias=, :clientIdAlias=
87
61
 
88
- # The flag which indicates whether the client ID alias was used when
89
- # the token request was made. "true" if the client ID alias was used
90
- # when the token request was made. (Boolean)
91
62
  attr_accessor :clientIdAliasUsed
92
63
  alias_method :client_id_alias_used, :clientIdAliasUsed
93
64
  alias_method :client_id_alias_used=, :clientIdAliasUsed=
94
65
 
95
- # The subject (= resource owner's ID) of the access token.
96
- # Even if an access token has been issued by the call of /api/auth/token API,
97
- # this parameter is "nil" if the flow of the token request was "Client Credentials Flow"
98
- # (grant_type=client_credentials) because it means the access token
99
- # is not associated with any specific end-user.
100
- # (String)
101
66
  attr_accessor :subject
102
67
 
103
- # The scopes covered by the access token.
104
- # (Scope array)
105
68
  attr_accessor :scopes
106
69
 
107
- # The extra properties associated with the access token.
108
- # This parameter is "nil" when no extra property is associated with
109
- # the issued access token.
110
70
  attr_accessor :properties
111
71
 
72
+ attr_accessor :jwtAccessToken
73
+ alias_method :jwt_access_token, :jwtAccessToken
74
+ alias_method :jwt_access_token=, :jwtAccessToken=
75
+
76
+ attr_accessor :accessTokenResources
77
+ alias_method :access_token_resources, :accessTokenResources
78
+ alias_method :access_token_resources=, :accessTokenResources=
79
+
112
80
  private
113
81
 
114
- # The constructor which takes a hash that represents a JSON response
115
- # from Authlete's /api/auth/token/issue API.
116
- def initialize(hash = {})
82
+ def defaults
83
+ super.merge(
84
+ action: nil,
85
+ responseContent: nil,
86
+ accessToken: nil,
87
+ accessTokenExpiresAt: 0,
88
+ accessTokenDuration: 0,
89
+ refreshToken: nil,
90
+ refreshTokenExpiresAt: 0,
91
+ refreshTokenDuration: 0,
92
+ clientId: 0,
93
+ clientIdAlias: nil,
94
+ clientIdAliasUsed: false,
95
+ subject: nil,
96
+ scopes: nil,
97
+ properties: nil,
98
+ jwtAccessToken: nil,
99
+ accessTokenResources: nil
100
+ )
101
+ end
102
+
103
+ def set_params(hash)
117
104
  super(hash)
118
105
 
119
- @action = extract_value(hash, :action)
120
- @responseContent = extract_value(hash, :responseContent)
121
- @accessToken = extract_value(hash, :accessToken)
122
- @accessTokenExpiresAt = extract_integer_value(hash, :accessTokenExpiresAt)
123
- @accessTokenDuration = extract_integer_value(hash, :accessTokenDuration)
124
- @refreshToken = extract_value(hash, :refreshToken)
125
- @refreshTokenExpiresAt = extract_integer_value(hash, :refreshTokenExpiresAt)
126
- @refreshTokenDuration = extract_integer_value(hash, :refreshTokenDuration)
127
- @clientId = extract_integer_value(hash, :clientId)
128
- @clientIdAlias = extract_value(hash, :clientIdAlias)
129
- @clientIdAliasUsed = extract_boolean_value(hash, :clientIdAliasUsed)
130
- @subject = extract_value(hash, :subject)
131
- @scopes = extract_value(hash, :scopes)
132
- @properties = extract_array_value(hash, :scopes) do |element|
133
- Authlete::Model::Property.parse(element)
134
- end
106
+ @action = hash[:action]
107
+ @responseContent = hash[:responseContent]
108
+ @accessToken = hash[:accessToken]
109
+ @accessTokenExpiresAt = hash[:accessTokenExpiresAt]
110
+ @accessTokenDuration = hash[:accessTokenDuration]
111
+ @refreshToken = hash[:refreshToken]
112
+ @refreshTokenExpiresAt = hash[:refreshTokenExpiresAt]
113
+ @refreshTokenDuration = hash[:refreshTokenDuration]
114
+ @clientId = hash[:clientId]
115
+ @clientIdAlias = hash[:clientIdAlias]
116
+ @clientIdAliasUsed = hash[:clientIdAliasUsed]
117
+ @subject = hash[:subject]
118
+ @scopes = hash[:scopes]
119
+ @properties = get_parsed_array(hash[:properties]) { |e| Authlete::Model::Property.parse(e) }
120
+ @jwtAccessToken = hash[:jwtAccessToken]
121
+ @accessTokenResources = hash[:accessTokenResources]
135
122
  end
136
123
  end
137
124
  end
138
125
  end
139
- end
126
+ end