authlete 0.5.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/lib/authlete.rb +24 -1
  3. data/lib/authlete/api.rb +298 -146
  4. data/lib/authlete/authentication-server.rb +1 -1
  5. data/lib/authlete/exception.rb +6 -3
  6. data/lib/authlete/model/client-extension.rb +135 -135
  7. data/lib/authlete/model/client-list.rb +128 -128
  8. data/lib/authlete/model/client.rb +468 -468
  9. data/lib/authlete/model/hashable.rb +1 -1
  10. data/lib/authlete/model/pair.rb +102 -102
  11. data/lib/authlete/model/property.rb +116 -0
  12. data/lib/authlete/model/request/authentication-callback-request.rb +90 -90
  13. data/lib/authlete/model/request/authorization-fail-request.rb +107 -104
  14. data/lib/authlete/model/request/authorization-issue-request.rb +167 -133
  15. data/lib/authlete/model/request/authorization-request.rb +101 -101
  16. data/lib/authlete/model/request/client-authorization-delete-request.rb +123 -0
  17. data/lib/authlete/model/request/client-authorization-get-list-request.rb +123 -0
  18. data/lib/authlete/model/request/client-authorization-update-request.rb +118 -0
  19. data/lib/authlete/model/request/client-secret-update-request.rb +121 -0
  20. data/lib/authlete/model/request/developer-authentication-callback-request.rb +84 -84
  21. data/lib/authlete/model/request/granted-scopes-request.rb +103 -0
  22. data/lib/authlete/model/request/introspection-request.rb +117 -39
  23. data/lib/authlete/model/request/revocation-request.rb +125 -0
  24. data/lib/authlete/model/request/standard-introspection-request.rb +102 -0
  25. data/lib/authlete/model/request/token-create-request.rb +250 -0
  26. data/lib/authlete/model/request/token-fail-request.rb +104 -101
  27. data/lib/authlete/model/request/token-issue-request.rb +116 -101
  28. data/lib/authlete/model/request/token-request.rb +127 -121
  29. data/lib/authlete/model/request/token-update-request.rb +165 -0
  30. data/lib/authlete/model/request/user-info-issue-request.rb +113 -0
  31. data/lib/authlete/model/request/user-info-request.rb +102 -0
  32. data/lib/authlete/model/response/authentication-callback-response.rb +53 -53
  33. data/lib/authlete/model/response/authorization-fail-response.rb +48 -48
  34. data/lib/authlete/model/response/authorization-issue-response.rb +85 -48
  35. data/lib/authlete/model/response/authorization-response.rb +177 -164
  36. data/lib/authlete/model/response/client-authorization-get-list-response.rb +60 -0
  37. data/lib/authlete/model/response/client-secret-refresh-response.rb +48 -0
  38. data/lib/authlete/model/response/client-secret-update-response.rb +48 -0
  39. data/lib/authlete/model/response/developer-authentication-callback-response.rb +55 -55
  40. data/lib/authlete/model/response/granted-scopes-get-response.rb +63 -0
  41. data/lib/authlete/model/response/introspection-response.rb +163 -132
  42. data/lib/authlete/model/response/revocation-response.rb +49 -0
  43. data/lib/authlete/model/response/service-creatable-response.rb +50 -50
  44. data/lib/authlete/model/response/standard-introspection-response.rb +49 -0
  45. data/lib/authlete/model/response/token-create-response.rb +100 -0
  46. data/lib/authlete/model/response/token-fail-response.rb +49 -49
  47. data/lib/authlete/model/response/token-issue-response.rb +138 -49
  48. data/lib/authlete/model/response/token-response.rb +168 -70
  49. data/lib/authlete/model/response/token-update-response.rb +62 -0
  50. data/lib/authlete/model/response/user-info-issue-response.rb +47 -0
  51. data/lib/authlete/model/response/user-info-response.rb +85 -0
  52. data/lib/authlete/model/result.rb +44 -44
  53. data/lib/authlete/model/scope.rb +1 -1
  54. data/lib/authlete/model/service-list.rb +1 -1
  55. data/lib/authlete/model/service-owner.rb +1 -1
  56. data/lib/authlete/model/service.rb +4 -2
  57. data/lib/authlete/model/sns-credentials.rb +1 -1
  58. data/lib/authlete/model/tagged-value.rb +97 -97
  59. data/lib/authlete/utility.rb +1 -1
  60. data/lib/authlete/version.rb +2 -2
  61. metadata +24 -2
@@ -0,0 +1,49 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2018 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
+ # == Authlete::Model::Response::RevicationResponse class
22
+ #
23
+ # This class represents a response from Authlete's /api/auth/revocation API.
24
+ class RevocationResponse < Authlete::Model::Result
25
+ # The next action that the service implementation should take.
26
+ # (String)
27
+ attr_accessor :action
28
+
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
+ attr_accessor :responseContent
33
+ alias_method :response_content, :responseContent
34
+ alias_method :response_content=, :responseContent=
35
+
36
+ private
37
+
38
+ # The constructor which takes a hash that represents a JSON response
39
+ # from Authlete's /api/auth/revocation API.
40
+ def initialize(hash = {})
41
+ super(hash)
42
+
43
+ @action = extract_value(hash, :action)
44
+ @responseContent = extract_value(hash, :responseContent)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -1,51 +1,51 @@
1
- # :nodoc:
2
- #
3
- # Copyright (C) 2015 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
- # == Authlete::Model::Response::ServiceCreatableResponse class
22
- class ServiceCreatableResponse
23
- include Authlete::Utility
24
- # A boolean flag to indicate whether the service owner can
25
- # create a new service or not.
26
- attr_accessor :creatable
27
-
28
- # The number of services that the service owner currently has.
29
- attr_accessor :count
30
-
31
- # The maximum number of services allowed in the plan of the
32
- # service owner.
33
- attr_accessor :limit
34
-
35
- # The plan of the service owner.
36
- attr_accessor :plan
37
-
38
- # The constructor which takes a hash that represents a JSON
39
- # response from /api/service/creatable API.
40
- def initialize(hash = {})
41
- @creatable = extract_boolean_value(hash, :creatable)
42
- @count = extract_value(hash, :count)
43
- @limit = extract_value(hash, :limit)
44
- @plan = extract_value(hash, :plan)
45
- end
46
-
47
- alias_method :creatable?, :creatable
48
- end
49
- end
50
- end
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2018 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
+ # == Authlete::Model::Response::ServiceCreatableResponse class
22
+ class ServiceCreatableResponse
23
+ include Authlete::Utility
24
+ # A boolean flag to indicate whether the service owner can
25
+ # create a new service or not.
26
+ attr_accessor :creatable
27
+
28
+ # The number of services that the service owner currently has.
29
+ attr_accessor :count
30
+
31
+ # The maximum number of services allowed in the plan of the
32
+ # service owner.
33
+ attr_accessor :limit
34
+
35
+ # The plan of the service owner.
36
+ attr_accessor :plan
37
+
38
+ # The constructor which takes a hash that represents a JSON
39
+ # response from /api/service/creatable API.
40
+ def initialize(hash = {})
41
+ @creatable = extract_boolean_value(hash, :creatable)
42
+ @count = extract_integer_value(hash, :count)
43
+ @limit = extract_integer_value(hash, :limit)
44
+ @plan = extract_value(hash, :plan)
45
+ end
46
+
47
+ alias_method :creatable?, :creatable
48
+ end
49
+ end
50
+ end
51
51
  end
@@ -0,0 +1,49 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2018 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
+ # == Authlete::Model::Response::StandardIntrospectionResponse class
22
+ #
23
+ # This class represents a response from Authlete's /api/auth/introspection/standard API.
24
+ class StandardIntrospectionResponse < Authlete::Model::Result
25
+ # The next action that the service implementation should take.
26
+ # (String)
27
+ attr_accessor :action
28
+
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
+ attr_accessor :responseContent
33
+ alias_method :response_content, :responseContent
34
+ alias_method :response_content=, :responseContent=
35
+
36
+ private
37
+
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 = {})
41
+ super(hash)
42
+
43
+ @action = extract_value(hash, :action)
44
+ @responseContent = extract_value(hash, :responseContent)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,100 @@
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2018 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
+ # == Authlete::Model::Response::TokenCreateResponse class
22
+ #
23
+ # A class that represents a response from Authlete's
24
+ # /api/auth/token/create API.
25
+ class TokenCreateResponse < Authlete::Model::Result
26
+ # The next action which the caller of the API should take next.
27
+ # (String)
28
+ attr_accessor :action
29
+
30
+ # The newly issued access token. (String)
31
+ attr_accessor :accessToken
32
+ alias_method :access_token, :accessToken
33
+ alias_method :access_token=, :accessToken=
34
+
35
+ # The ID of the client application which is associated with the access
36
+ # token. (Integer)
37
+ attr_accessor :clientId
38
+ alias_method :client_id, :clientId
39
+ alias_method :client_id=, :clientId=
40
+
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=
45
+
46
+ # The duration of the newly issued access token in seconds. (Integer)
47
+ attr_accessor :expires_in
48
+ alias_method :expires_in, :expiresIn
49
+ alias_method :expires_in=, :expiresIn=
50
+
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
58
+
59
+ # The newly issued refresh token. (String)
60
+ attr_accessor :refreshToken
61
+ alias_method :refresh_token, :refreshToken
62
+ alias_method :refresh_token=, :refreshToken=
63
+
64
+ # The scopes which is associated with the access token. (String array)
65
+ attr_accessor :scopes
66
+
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
72
+
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=
77
+
78
+ # The constructor which takes a hash that represents a JSON response
79
+ # from /api/auth/token/create API.
80
+ def initialize(hash = {})
81
+ super(hash)
82
+
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)
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -1,50 +1,50 @@
1
- # :nodoc:
2
- #
3
- # Copyright (C) 2014-2015 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
- # == 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)
28
- attr_accessor :action
29
-
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
- attr_accessor :responseContent
34
- alias_method :response_content, :responseContent
35
- alias_method :response_content=, :responseContent=
36
-
37
- private
38
-
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 = {})
42
- super(hash)
43
-
44
- @action = extract_value(hash, :action)
45
- @responseContent = extract_value(hash, :responseContent)
46
- end
47
- end
48
- end
49
- end
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2018 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
+ # == 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)
28
+ attr_accessor :action
29
+
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
+ attr_accessor :responseContent
34
+ alias_method :response_content, :responseContent
35
+ alias_method :response_content=, :responseContent=
36
+
37
+ private
38
+
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 = {})
42
+ super(hash)
43
+
44
+ @action = extract_value(hash, :action)
45
+ @responseContent = extract_value(hash, :responseContent)
46
+ end
47
+ end
48
+ end
49
+ end
50
50
  end
@@ -1,50 +1,139 @@
1
- authorization-response.rb# :nodoc:
2
- #
3
- # Copyright (C) 2014-2015 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
- # == Authlete::Model::Response::TokenIssueResponse class
22
- #
23
- # This class represents a response from Authlete's /api/auth/token/issue API.
24
- class TokenIssueResponse < Authlete::Model::Result
25
- include Authlete::Utility
26
- # The next action that the service implementation should take.
27
- # (String)
28
- attr_accessor :action
29
-
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
- attr_accessor :responseContent
34
- alias_method :response_content, :responseContent
35
- alias_method :response_content=, :responseContent=
36
-
37
- private
38
-
39
- # The constructor which takes a hash that represents a JSON response
40
- # from Authlete's /api/auth/token/issue API.
41
- def initialize(hash = {})
42
- super(hash)
43
-
44
- @action = extract_value(hash, :action)
45
- @responseContent = extract_value(hash, :responseContent)
46
- end
47
- end
48
- end
49
- end
1
+ # :nodoc:
2
+ #
3
+ # Copyright (C) 2014-2018 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
+ # == Authlete::Model::Response::TokenIssueResponse class
22
+ #
23
+ # This class represents a response from Authlete's /api/auth/token/issue API.
24
+ class TokenIssueResponse < Authlete::Model::Result
25
+ include Authlete::Utility
26
+ # The next action that the service implementation should take.
27
+ # (String)
28
+ attr_accessor :action
29
+
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
+ attr_accessor :responseContent
34
+ alias_method :response_content, :responseContent
35
+ alias_method :response_content=, :responseContent=
36
+
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
+ attr_accessor :accessToken
40
+ alias_method :access_token, :accessToken
41
+ alias_method :access_token=, :accessToken=
42
+
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
+ attr_accessor :accessTokenExpiresAt
47
+ alias_method :access_token_expires_at, :accessTokenExpiresAt
48
+ alias_method :access_token_expires_at=, :accessTokenExpiresAt=
49
+
50
+ # The duration of the newly issued access token in seconds. (Integer)
51
+ attr_accessor :accessTokenDuration
52
+ alias_method :access_token_duration, :accessTokenDuration
53
+ alias_method :access_token_duration=, :accessTokenDuration=
54
+
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
+ attr_accessor :refreshToken
63
+ alias_method :refresh_token, :refreshToken
64
+ alias_method :refresh_token=, :refreshToken=
65
+
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
+ attr_accessor :refreshTokenExpiresAt
70
+ alias_method :refresh_token_expires_at, :refreshTokenExpiresAt
71
+ alias_method :refresh_token_expires_at=, :refreshTokenExpiresAt=
72
+
73
+ # The duration of the newly issued refresh token in seconds. (Integer)
74
+ attr_accessor :refreshTokenDuration
75
+ alias_method :refresh_token_duration, :refreshTokenDuration
76
+ alias_method :refresh_token_duration=, :refreshTokenDuration=
77
+
78
+ # The client ID. (Integer)
79
+ attr_accessor :clientId
80
+ alias_method :client_id, :clientId
81
+ alias_method :client_id=, :clientId=
82
+
83
+ # If the client did not have an alias, this parameter is nil. (String)
84
+ attr_accessor :clientIdAlias
85
+ alias_method :client_id_alias, :clientIdAlias
86
+ alias_method :client_id_alias=, :clientIdAlias=
87
+
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
+ attr_accessor :clientIdAliasUsed
92
+ alias_method :client_id_alias_used, :clientIdAliasUsed
93
+ alias_method :client_id_alias_used=, :clientIdAliasUsed=
94
+
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
+ attr_accessor :subject
102
+
103
+ # The scopes covered by the access token.
104
+ # (Scope array)
105
+ attr_accessor :scopes
106
+
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
+ attr_accessor :properties
111
+
112
+ private
113
+
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 = {})
117
+ super(hash)
118
+
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
135
+ end
136
+ end
137
+ end
138
+ end
50
139
  end