authlete 0.3.6 → 0.3.7

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/authlete.rb +14 -14
  3. data/lib/authlete/api.rb +115 -35
  4. data/lib/authlete/authentication-server.rb +4 -4
  5. data/lib/authlete/model/client-list.rb +127 -181
  6. data/lib/authlete/model/client.rb +444 -492
  7. data/lib/authlete/model/hashable.rb +65 -0
  8. data/lib/authlete/model/request/authentication-callback-request.rb +91 -0
  9. data/lib/authlete/model/request/authorization-fail-request.rb +107 -0
  10. data/lib/authlete/model/request/authorization-issue-request.rb +136 -0
  11. data/lib/authlete/model/request/authorization-request.rb +104 -0
  12. data/lib/authlete/model/request/developer-authentication-callback-request.rb +85 -0
  13. data/lib/authlete/model/request/introspection-request.rb +40 -0
  14. data/lib/authlete/model/request/token-fail-request.rb +104 -0
  15. data/lib/authlete/model/request/token-issue-request.rb +104 -0
  16. data/lib/authlete/model/request/token-request.rb +124 -0
  17. data/lib/authlete/model/response/authentication-callback-response.rb +54 -0
  18. data/lib/authlete/model/response/authorization-fail-response.rb +47 -0
  19. data/lib/authlete/model/response/authorization-issue-response.rb +47 -0
  20. data/lib/authlete/model/response/authorization-response.rb +146 -0
  21. data/lib/authlete/model/response/developer-authentication-callback-response.rb +56 -0
  22. data/lib/authlete/model/response/introspection-response.rb +129 -0
  23. data/lib/authlete/model/response/result.rb +45 -0
  24. data/lib/authlete/model/response/service-creatable-response.rb +51 -0
  25. data/lib/authlete/model/response/token-fail-response.rb +48 -0
  26. data/lib/authlete/model/response/token-issue-response.rb +48 -0
  27. data/lib/authlete/model/response/token-response.rb +69 -0
  28. data/lib/authlete/model/scope.rb +17 -42
  29. data/lib/authlete/model/service-list.rb +19 -74
  30. data/lib/authlete/model/service-owner.rb +16 -40
  31. data/lib/authlete/model/service.rb +20 -76
  32. data/lib/authlete/model/sns-credentials.rb +16 -41
  33. data/lib/authlete/model/tagged-value.rb +105 -135
  34. data/lib/authlete/utility.rb +29 -5
  35. data/lib/authlete/version.rb +1 -1
  36. metadata +24 -10
  37. data/lib/authlete/request/authentication-callback-request.rb +0 -90
  38. data/lib/authlete/request/developer-authentication-callback-request.rb +0 -84
  39. data/lib/authlete/response/authentication-callback-response.rb +0 -58
  40. data/lib/authlete/response/base-response.rb +0 -41
  41. data/lib/authlete/response/developer-authentication-callback-response.rb +0 -60
  42. data/lib/authlete/response/introspection-response.rb +0 -130
  43. data/lib/authlete/response/service-creatable-response.rb +0 -52
@@ -1,130 +0,0 @@
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 Response
20
- # == Authlete::Response::IntrospectionResponse class
21
- #
22
- # A class that represents a response from Authlete's
23
- # /api/auth/introspection API.
24
- #
25
- class IntrospectionResponse < Authlete::Response::BaseResponse
26
- include Authlete::Utility
27
-
28
- # The next action which the caller of the API should take next.
29
- attr_accessor :action
30
-
31
- # The ID of the client application which is associated with
32
- # the access token.
33
- attr_accessor :client_id
34
-
35
- # The subject which is associated with the access token.
36
- # This is <tt>nil</tt> if the access token was created
37
- # through {Client Credentials Flow}[https://tools.ietf.org/html/rfc6749#section-4.4].
38
- attr_accessor :subject
39
-
40
- # The scopes which is associated with the access token.
41
- attr_accessor :scopes
42
-
43
- # True when the access token exists.
44
- attr_accessor :existent
45
-
46
- # True when the access token is usable (= exists and has not expired).
47
- attr_accessor :usable
48
-
49
- # True when the access token covers all the scopes (if specified).
50
- attr_accessor :sufficient
51
-
52
- # True when the access token can be refreshed using its corresponding
53
- # refresh token.
54
- attr_accessor :refreshable
55
-
56
- # The content of the error response that the service implementation
57
- # should return to the client application.
58
- attr_accessor :response_content
59
-
60
- # The constructor which takes a hash that represents a JSON response
61
- # from /api/auth/introspection API.
62
- def initialize(hash = {})
63
- super(hash)
64
-
65
- @action = extract_value(hash, :action)
66
- @client_id = extract_value(hash, :clientId)
67
- @subject = extract_value(hash, :subject)
68
- @scopes = extract_value(hash, :scopes)
69
- @existent = extract_boolean_value(hash, :existent)
70
- @usable = extract_boolean_value(hash, :usable)
71
- @sufficient = extract_boolean_value(hash, :sufficient)
72
- @refreshable = extract_boolean_value(hash, :refreshable)
73
- @response_content = extract_value(hash, :responseContent)
74
- end
75
-
76
- alias_method :existent?, :existent
77
- alias_method :exists, :existent
78
- alias_method :exists?, :existent
79
- alias_method :exist, :existent
80
- alias_method :exist?, :existent
81
- alias_method :usable?, :usable
82
- alias_method :sufficient?, :sufficient
83
- alias_method :refreshable?, :refreshable
84
-
85
- # Generate an array which is usable as a Rack response from this instance.
86
- # When <tt>action</tt> method returns other value than 'OK', the array
87
- # returned from this method satisfies RFC 6750.
88
- def to_rack_response
89
- # 'action' denotes the next action.
90
- case @action
91
- when 'INTERNAL_SERVER_ERROR'
92
- # 500 Internal Server Error
93
- # The API request from this implementation was wrong
94
- # or an error occurred in Authlete.
95
- return to_rack_response_www_authenticate(500, @response_content)
96
-
97
- when 'BAD_REQUEST'
98
- # 400 Bad Request
99
- # The request from the client application does not
100
- # contain an access token.
101
- return to_rack_response_www_authenticate(400, @response_content)
102
-
103
- when 'UNAUTHORIZED'
104
- # 401 Unauthorized
105
- # The presented access token does not exist or has expired.
106
- return to_rack_response_www_authenticate(401, @response_content)
107
-
108
- when 'FORBIDDEN'
109
- # 403 Forbidden
110
- # The access token does not cover the required scopes
111
- # or the subject associated with the access token is
112
- # different.
113
- return to_rack_response_www_authenticate(403, @response_content)
114
-
115
- when 'OK'
116
- # The access token is valid (= exists and has not expired).
117
- # Basically, the caller won't use the array returned from here.
118
- # Instead, it will return the protected resource to the client
119
- # application which has presented the valid access token.
120
- return [ 200, nil, nil ]
121
-
122
- else
123
- # This should not happen.
124
- return to_rack_response_www_authenticate(500,
125
- 'Bearer error="server_error",error_description="Unknown action"')
126
- end
127
- end
128
- end
129
- end
130
- end
@@ -1,52 +0,0 @@
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 Response
20
- # == Authlete::Response::ServiceCreatableResponse class
21
- class ServiceCreatableResponse
22
- include Authlete::Utility
23
-
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
- super(hash)
42
-
43
- @creatable = extract_boolean_value(hash, :creatable)
44
- @count = extract_value(hash, :count);
45
- @limit = extract_value(hash, :limit);
46
- @plan = extract_value(hash, :plan);
47
- end
48
-
49
- alias_method :creatable?, :creatable
50
- end
51
- end
52
- end