auth0 5.0.1 → 5.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/.circleci/config.yml +3 -5
- data/CHANGELOG.md +46 -0
- data/README.md +81 -1
- data/auth0.gemspec +6 -6
- data/lib/auth0/api/authentication_endpoints.rb +16 -6
- data/lib/auth0/api/v2.rb +8 -4
- data/lib/auth0/api/v2/branding.rb +66 -0
- data/lib/auth0/api/v2/connections.rb +8 -2
- data/lib/auth0/api/v2/device_credentials.rb +3 -3
- data/lib/auth0/api/v2/jobs.rb +3 -1
- data/lib/auth0/api/v2/organizations.rb +335 -0
- data/lib/auth0/api/v2/tickets.rb +14 -2
- data/lib/auth0/api/v2/users.rb +12 -0
- data/lib/auth0/exception.rb +3 -1
- data/lib/auth0/mixins/httpproxy.rb +4 -1
- data/lib/auth0/mixins/initializer.rb +3 -1
- data/lib/auth0/mixins/validation.rb +14 -0
- data/lib/auth0/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_exclude_the_fields_indicated.yml +38 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/_filters/should_include_the_fields_indicated.yml +38 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connection/should_find_the_correct_connection.yml +38 -26
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_include_previously-created_connection_when_filtered.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_exclude_the_fields_indicated_from_filtered_results.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/_filters/should_should_include_the_fields_indicated_from_filtered_results.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_include_the_previously_created_connection.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_connections/should_not_be_empty.yml +41 -21
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection/should_delete_the_connection.yml +45 -24
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_delete_connection_user/should_delete_the_user_created.yml +75 -39
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/_update_connection/should_update_the_connection.yml +39 -28
- data/spec/fixtures/vcr_cassettes/Auth0_Api_V2_Connections/create_test_connection.yml +37 -25
- data/spec/lib/auth0/api/v2/branding_spec.rb +70 -0
- data/spec/lib/auth0/api/v2/connections_spec.rb +5 -1
- data/spec/lib/auth0/api/v2/device_credentials_spec.rb +2 -2
- data/spec/lib/auth0/api/v2/jobs_spec.rb +11 -0
- data/spec/lib/auth0/api/v2/organizations_spec.rb +593 -0
- data/spec/lib/auth0/api/v2/tickets_spec.rb +55 -0
- data/spec/lib/auth0/api/v2/users_spec.rb +19 -0
- data/spec/lib/auth0/client_spec.rb +79 -9
- data/spec/lib/auth0/mixins/httpproxy_spec.rb +8 -8
- data/spec/lib/auth0/mixins/validation_spec.rb +32 -0
- metadata +21 -15
data/lib/auth0/api/v2/jobs.rb
CHANGED
@@ -81,13 +81,15 @@ module Auth0
|
|
81
81
|
# @param identity [hash] Used to verify secondary, federated, and passwordless-email identities.
|
82
82
|
# * :user_id [string] user_id of the identity.
|
83
83
|
# * :provider [string] provider of the identity.
|
84
|
+
# @param organization_id [string] organization id
|
84
85
|
#
|
85
86
|
# @return [json] Returns the job status and properties.
|
86
|
-
def send_verification_email(user_id, client_id = nil, identity: nil)
|
87
|
+
def send_verification_email(user_id, client_id = nil, identity: nil, organization_id: nil)
|
87
88
|
raise Auth0::InvalidParameter, 'Must specify a user id' if user_id.to_s.empty?
|
88
89
|
|
89
90
|
request_params = { user_id: user_id }
|
90
91
|
request_params[:client_id] = client_id unless client_id.nil?
|
92
|
+
request_params[:organization_id] = organization_id unless organization_id.nil?
|
91
93
|
|
92
94
|
if identity
|
93
95
|
unless identity.is_a? Hash
|
@@ -0,0 +1,335 @@
|
|
1
|
+
module Auth0
|
2
|
+
module Api
|
3
|
+
module V2
|
4
|
+
# Methods to use the organizations endpoints
|
5
|
+
module Organizations
|
6
|
+
include Auth0::Mixins::Validation
|
7
|
+
|
8
|
+
attr_reader :organizations_path
|
9
|
+
|
10
|
+
# Get all organizations.
|
11
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organizations
|
12
|
+
# @param options [hash] The Hash options used to define the paging of rersults
|
13
|
+
# * :per_page [integer] The amount of entries per page. Default: 50. Max value: 100.
|
14
|
+
# * :page [integer] The page number. Zero based.
|
15
|
+
# * :include_totals [boolean] True to include query summary in the result, false or nil otherwise.
|
16
|
+
# @return [json] All Organizations
|
17
|
+
def organizations(options = {})
|
18
|
+
request_params = {
|
19
|
+
per_page: options.fetch(:per_page, nil),
|
20
|
+
page: options.fetch(:page, nil),
|
21
|
+
include_totals: options.fetch(:include_totals, nil)
|
22
|
+
}
|
23
|
+
get(organizations_path, request_params)
|
24
|
+
end
|
25
|
+
alias get_organizations organizations
|
26
|
+
|
27
|
+
# Create a new organization.
|
28
|
+
# @see ttps://auth0.com/docs/api/management/v2/#!/Organizations/post_organizations
|
29
|
+
# @param options [hash] See https://auth0.com/docs/api/management/v2/#!/Organizations/post_organizations for available options
|
30
|
+
# @return [json] Returns the created organization.
|
31
|
+
def create_organization(options = {})
|
32
|
+
post(organizations_path, options)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Get an organization by id. A token with read:organizations scope is required
|
36
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organizations_by_id
|
37
|
+
# @param organization_id [string] The organization_id of the user to retrieve.
|
38
|
+
#
|
39
|
+
# @return [json] Returns the organization with the given organization_id if it exists.
|
40
|
+
def organization(organization_id)
|
41
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
42
|
+
path = "#{organizations_path}/#{organization_id}"
|
43
|
+
get(path)
|
44
|
+
end
|
45
|
+
|
46
|
+
# Get an organization by name. A token with read:organizations scope is required.
|
47
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_name_by_name
|
48
|
+
# @param organization_name [string] The Organization name
|
49
|
+
#
|
50
|
+
# @return [json] Returns the organization with the given organization_name if it exists.
|
51
|
+
def organization_by_name(organization_name)
|
52
|
+
raise Auth0::InvalidParameter, 'Must supply a valid organization_name' if organization_name.to_s.empty?
|
53
|
+
path = "#{organizations_path}/name/#{organization_name}"
|
54
|
+
get(path)
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
# Deletes a single organization given its id
|
59
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_organizations_by_id
|
60
|
+
# @param organization_id [string] The Organization ID
|
61
|
+
def delete_organization(organization_id)
|
62
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
63
|
+
path = "#{organizations_path}/#{organization_id}"
|
64
|
+
delete(path)
|
65
|
+
end
|
66
|
+
|
67
|
+
# Update an existing organization.
|
68
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/patch_organizations_by_id
|
69
|
+
# @param organization_id [string] The Organization ID
|
70
|
+
# @param body [hash] The optional parameters to update.
|
71
|
+
#
|
72
|
+
# @return [json] Returns the updated user.
|
73
|
+
def patch_organization(organization_id, body)
|
74
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
75
|
+
raise Auth0::InvalidParameter, 'Must supply a valid body' if body.to_s.empty? || body.empty?
|
76
|
+
path = "#{organizations_path}/#{organization_id}"
|
77
|
+
patch(path, body)
|
78
|
+
end
|
79
|
+
alias update_organization patch_organization
|
80
|
+
|
81
|
+
### Organization Enabled Connections
|
82
|
+
|
83
|
+
# Get enabled connections in an Organization
|
84
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_enabled_connections
|
85
|
+
# @param organization_id [string] The Organization ID
|
86
|
+
#
|
87
|
+
# @return [json] Returns the enabled connections for the given organization
|
88
|
+
def get_organizations_enabled_connections(organization_id)
|
89
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
90
|
+
path = "#{organizations_enabled_connections_path(organization_id)}"
|
91
|
+
get(path)
|
92
|
+
end
|
93
|
+
|
94
|
+
# Get enabled connection by id in an Organization
|
95
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_enabled_connections_by_connectionId
|
96
|
+
# @param organization_id [string] The Organization ID
|
97
|
+
# @param connection_id [string] The Connection id
|
98
|
+
#
|
99
|
+
# @return [json] Returns the connection for the given organization
|
100
|
+
def get_organizations_enabled_connection(organization_id, connection_id)
|
101
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
102
|
+
raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
|
103
|
+
path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}"
|
104
|
+
get(path)
|
105
|
+
end
|
106
|
+
|
107
|
+
# Update an eanbled connection in an Organization
|
108
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/patch_enabled_connections_by_connectionId
|
109
|
+
# @param organization_id [string] The Organization ID
|
110
|
+
# @param connection_id [string] The Connection id
|
111
|
+
# @param assign_membership_on_login [boolean] flag to allow assign membership on login
|
112
|
+
#
|
113
|
+
# @return [json] Returns the connection for the given organization
|
114
|
+
def patch_organizations_enabled_connection(organization_id, connection_id, assign_membership_on_login: nil)
|
115
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
116
|
+
raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
|
117
|
+
raise Auth0::InvalidParameter, 'Must supply a valid assign_membership_on_login value' if assign_membership_on_login.nil?
|
118
|
+
path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}"
|
119
|
+
|
120
|
+
body = {}
|
121
|
+
body[:assign_membership_on_login] = assign_membership_on_login
|
122
|
+
|
123
|
+
patch(path, body)
|
124
|
+
end
|
125
|
+
alias update_organizations_enabled_connection patch_organizations_enabled_connection
|
126
|
+
|
127
|
+
# Add an enabled connection for an Organization
|
128
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_enabled_connections
|
129
|
+
# @param organization_id [string] The Organization ID
|
130
|
+
# @param connection_id [string] The Organization ID
|
131
|
+
# @param assign_membership_on_login [boolean] flag to allow assign membership on login
|
132
|
+
#
|
133
|
+
# @return [json] Returns the connection for the given organization
|
134
|
+
def create_organizations_enabled_connection(organization_id, connection_id, assign_membership_on_login: false)
|
135
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
136
|
+
raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
|
137
|
+
path = "#{organizations_enabled_connections_path(organization_id)}"
|
138
|
+
|
139
|
+
body = {}
|
140
|
+
body[:assign_membership_on_login] = assign_membership_on_login
|
141
|
+
body[:connection_id] = connection_id
|
142
|
+
|
143
|
+
post(path, body)
|
144
|
+
end
|
145
|
+
alias add_organizations_enabled_connection create_organizations_enabled_connection
|
146
|
+
|
147
|
+
# Remove an enabled connection from an Organization
|
148
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_enabled_connections_by_connectionId
|
149
|
+
# @param organization_id [string] The Organization ID
|
150
|
+
# @param connection_id [string] The Connection id
|
151
|
+
def delete_organizations_enabled_connection(organization_id, connection_id)
|
152
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
153
|
+
raise Auth0::InvalidParameter, 'Must supply a valid connection id' if connection_id.to_s.empty?
|
154
|
+
path = "#{organizations_enabled_connections_path(organization_id)}/#{connection_id}"
|
155
|
+
delete(path)
|
156
|
+
end
|
157
|
+
alias remove_organizations_enabled_connection delete_organizations_enabled_connection
|
158
|
+
|
159
|
+
### Organization Invites
|
160
|
+
|
161
|
+
# Get invites in an Organization
|
162
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_invitations
|
163
|
+
# @param organization_id [string] The Organization ID
|
164
|
+
#
|
165
|
+
# @return [json] Returns the invites for the given organization
|
166
|
+
def get_organizations_invites(organization_id)
|
167
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
168
|
+
path = "#{organizations_invitations_path(organization_id)}"
|
169
|
+
get(path)
|
170
|
+
end
|
171
|
+
|
172
|
+
# Get invite by id in an Organization
|
173
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_invitations_by_invitation_id
|
174
|
+
# @param organization_id [string] The Organization ID
|
175
|
+
# @param invitation_id [string] The invitation id
|
176
|
+
#
|
177
|
+
# @return [json] Returns the invitation for the given organization
|
178
|
+
def get_organizations_invite(organization_id, invitation_id)
|
179
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
180
|
+
raise Auth0::InvalidParameter, 'Must supply a valid invitation id' if invitation_id.to_s.empty?
|
181
|
+
path = "#{organizations_invitations_path(organization_id)}/#{invitation_id}"
|
182
|
+
get(path)
|
183
|
+
end
|
184
|
+
|
185
|
+
# Create an invitation in an organization
|
186
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_invitations
|
187
|
+
# @param organization_id [string] The Organization ID
|
188
|
+
# @param options [hash] See https://auth0.com/docs/api/management/v2/#!/Organizations/post_invitations
|
189
|
+
# @return [json] Returns the invitation for the given organization
|
190
|
+
def create_organizations_invite(organization_id, options = {})
|
191
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
192
|
+
path = "#{organizations_invitations_path(organization_id)}"
|
193
|
+
|
194
|
+
post(path, options)
|
195
|
+
end
|
196
|
+
alias add_organizations_invite create_organizations_invite
|
197
|
+
|
198
|
+
# Delete an invitation to organization
|
199
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_invitations_by_invitation_id
|
200
|
+
# @param organization_id [string] The Organization ID
|
201
|
+
# @param invitation_id [string] The Invitation id
|
202
|
+
def delete_organizations_invite(organization_id, invitation_id)
|
203
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
204
|
+
raise Auth0::InvalidParameter, 'Must supply a valid invitation id' if invitation_id.to_s.empty?
|
205
|
+
path = "#{organizations_invitations_path(organization_id)}/#{invitation_id}"
|
206
|
+
delete(path)
|
207
|
+
end
|
208
|
+
alias remove_organizations_invite delete_organizations_invite
|
209
|
+
|
210
|
+
### Organization Member
|
211
|
+
|
212
|
+
# Get Members in a Organization
|
213
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_members
|
214
|
+
# @param organization_id [string] The Organization ID
|
215
|
+
# @param user_id [string] The User ID
|
216
|
+
#
|
217
|
+
# @return [json] Returns the members for the given organization
|
218
|
+
def get_organizations_members(organization_id)
|
219
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
220
|
+
path = "#{organizations_members_path(organization_id)}"
|
221
|
+
get(path)
|
222
|
+
end
|
223
|
+
|
224
|
+
# Add members in an organization
|
225
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_members
|
226
|
+
# @param organization_id [string] The Organization ID
|
227
|
+
# @param members [array] Array of user IDs.
|
228
|
+
#
|
229
|
+
# @return [json] Returns the invitation for the given organization
|
230
|
+
def create_organizations_members(organization_id, members = [])
|
231
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
232
|
+
raise Auth0::InvalidParameter, 'Must supply an array of member ids' if members.empty?
|
233
|
+
path = "#{organizations_members_path(organization_id)}"
|
234
|
+
|
235
|
+
body = {}
|
236
|
+
body[:members] = members
|
237
|
+
|
238
|
+
post(path, body)
|
239
|
+
end
|
240
|
+
alias add_organizations_members create_organizations_members
|
241
|
+
|
242
|
+
# Remove members from an organization
|
243
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/delete_members
|
244
|
+
# @param organization_id [string] The Organization ID
|
245
|
+
# @param members [array] Array of user IDs.
|
246
|
+
def delete_organizations_members(organization_id, members = [])
|
247
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
248
|
+
raise Auth0::InvalidParameter, 'Must supply an array of member ids' if members.empty?
|
249
|
+
path = "#{organizations_members_path(organization_id)}"
|
250
|
+
|
251
|
+
body = {}
|
252
|
+
body[:members] = members
|
253
|
+
|
254
|
+
delete(path, body)
|
255
|
+
end
|
256
|
+
alias remove_organizations_members delete_organizations_members
|
257
|
+
|
258
|
+
### Organization Member Roles
|
259
|
+
|
260
|
+
# Get Roles assigned to a Member in an Organization
|
261
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/get_organization_member_roles
|
262
|
+
# @param organization_id [string] The Organization ID
|
263
|
+
# @param user_id [string] The User ID
|
264
|
+
#
|
265
|
+
# @return [json] Returns the member_roles for the given organization
|
266
|
+
def get_organizations_member_roles(organization_id, user_id)
|
267
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
268
|
+
raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty?
|
269
|
+
path = "#{organizations_member_roles_path(organization_id, user_id)}"
|
270
|
+
get(path)
|
271
|
+
end
|
272
|
+
|
273
|
+
# Assign roles to a member in an organization
|
274
|
+
# @see https://auth0.com/docs/api/management/v2/#!/Organizations/post_organization_member_roles
|
275
|
+
# @param organization_id [string] The Organization ID
|
276
|
+
# @param user_id [string] The User ID
|
277
|
+
# @param roles [array] Array of role IDs.
|
278
|
+
#
|
279
|
+
# @return [json] Returns the invitation for the given organization
|
280
|
+
def create_organizations_member_roles(organization_id, user_id, roles = [])
|
281
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
282
|
+
raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty?
|
283
|
+
raise Auth0::InvalidParameter, 'Must supply an array of role ids' if roles.empty?
|
284
|
+
path = "#{organizations_member_roles_path(organization_id, user_id)}"
|
285
|
+
|
286
|
+
body = {}
|
287
|
+
body[:roles] = roles
|
288
|
+
|
289
|
+
post(path, body)
|
290
|
+
end
|
291
|
+
alias add_organizations_member_roles create_organizations_member_roles
|
292
|
+
|
293
|
+
# Remove roles from a Member of an organization
|
294
|
+
# @https://auth0.com/docs/api/management/v2/#!/Organizations/delete_organization_member_roles
|
295
|
+
# @param organization_id [string] The Organization ID
|
296
|
+
# @param user_id [string] The User ID
|
297
|
+
# @param roles [array] Array of role IDs.
|
298
|
+
def delete_organizations_member_roles(organization_id, user_id, roles = [])
|
299
|
+
raise Auth0::MissingOrganizationId, 'Must supply a valid organization_id' if organization_id.to_s.empty?
|
300
|
+
raise Auth0::InvalidParameter, 'Must supply a valid user id' if user_id.to_s.empty?
|
301
|
+
raise Auth0::InvalidParameter, 'Must supply an array of role ids' if roles.empty?
|
302
|
+
path = "#{organizations_member_roles_path(organization_id, user_id)}"
|
303
|
+
|
304
|
+
body = {}
|
305
|
+
body[:roles] = roles
|
306
|
+
|
307
|
+
delete(path, body)
|
308
|
+
end
|
309
|
+
alias remove_organizations_member_roles delete_organizations_member_roles
|
310
|
+
|
311
|
+
private
|
312
|
+
# Organizations API path
|
313
|
+
def organizations_path
|
314
|
+
@organizations_path ||= '/api/v2/organizations'
|
315
|
+
end
|
316
|
+
|
317
|
+
def organizations_enabled_connections_path(org_id)
|
318
|
+
"#{organizations_path}/#{org_id}/enabled_connections"
|
319
|
+
end
|
320
|
+
|
321
|
+
def organizations_members_path(org_id)
|
322
|
+
"#{organizations_path}/#{org_id}/members"
|
323
|
+
end
|
324
|
+
|
325
|
+
def organizations_member_roles_path(org_id, user_id)
|
326
|
+
"#{organizations_path}/#{org_id}/members/#{user_id}/roles"
|
327
|
+
end
|
328
|
+
|
329
|
+
def organizations_invitations_path(org_id)
|
330
|
+
"#{organizations_path}/#{org_id}/invitations"
|
331
|
+
end
|
332
|
+
end
|
333
|
+
end
|
334
|
+
end
|
335
|
+
end
|
data/lib/auth0/api/v2/tickets.rb
CHANGED
@@ -15,9 +15,11 @@ module Auth0
|
|
15
15
|
# @param identity [hash] Used to verify secondary, federated, and passwordless-email identities.
|
16
16
|
# * :user_id [string] user_id of the identity.
|
17
17
|
# * :provider [string] provider of the identity.
|
18
|
+
# @param client_id [string] client id
|
19
|
+
# @param organization_id [string] organization id
|
18
20
|
#
|
19
21
|
# @return [json] Returns the created ticket url.
|
20
|
-
def post_email_verification(user_id, result_url: nil, ttl_sec: nil, identity: nil)
|
22
|
+
def post_email_verification(user_id, result_url: nil, ttl_sec: nil, identity: nil, client_id: nil, organization_id: nil)
|
21
23
|
if user_id.to_s.empty?
|
22
24
|
raise Auth0::InvalidParameter, 'Must supply a valid user id to post an email verification'
|
23
25
|
end
|
@@ -27,6 +29,8 @@ module Auth0
|
|
27
29
|
result_url: result_url,
|
28
30
|
ttl_sec: ttl_sec.is_a?(Integer) ? ttl_sec : nil
|
29
31
|
}
|
32
|
+
request_params[:client_id] = client_id unless client_id.nil?
|
33
|
+
request_params[:organization_id] = organization_id unless organization_id.nil?
|
30
34
|
|
31
35
|
if identity
|
32
36
|
unless identity.is_a? Hash
|
@@ -53,6 +57,8 @@ module Auth0
|
|
53
57
|
# @param includeEmailInRedirect [boolean] Whether or not we include the email as part of the returnUrl
|
54
58
|
# in the reset_email
|
55
59
|
# @param new_password [string] The password to be set for the user once the ticket is used.
|
60
|
+
# @param client_id [string] client id
|
61
|
+
# @param organization_id [string] organization id
|
56
62
|
#
|
57
63
|
# @return [json] Returns the created ticket url.
|
58
64
|
def post_password_change(
|
@@ -63,7 +69,10 @@ module Auth0
|
|
63
69
|
ttl_sec: nil,
|
64
70
|
mark_email_as_verified: nil,
|
65
71
|
includeEmailInRedirect: nil,
|
66
|
-
new_password: nil
|
72
|
+
new_password: nil,
|
73
|
+
client_id: nil,
|
74
|
+
organization_id: nil
|
75
|
+
)
|
67
76
|
|
68
77
|
booleans = [true, false]
|
69
78
|
path = "#{tickets_path}/password-change"
|
@@ -77,6 +86,9 @@ module Auth0
|
|
77
86
|
includeEmailInRedirect: booleans.include?(includeEmailInRedirect) ? includeEmailInRedirect : nil,
|
78
87
|
new_password: new_password
|
79
88
|
}
|
89
|
+
request_params[:client_id] = client_id unless client_id.nil?
|
90
|
+
request_params[:organization_id] = organization_id unless organization_id.nil?
|
91
|
+
|
80
92
|
post(path, request_params)
|
81
93
|
end
|
82
94
|
|
data/lib/auth0/api/v2/users.rb
CHANGED
@@ -308,6 +308,18 @@ module Auth0
|
|
308
308
|
post "#{users_path}/#{user_id}/multifactor/actions/invalidate-remember-browser"
|
309
309
|
end
|
310
310
|
|
311
|
+
|
312
|
+
# Get a list of organizations for a user.
|
313
|
+
#
|
314
|
+
# @param user_id [string] The user_id of the permissions to get.
|
315
|
+
#
|
316
|
+
# @return [json] Returns organizations for the given user_id.
|
317
|
+
def get_user_organizations(user_id)
|
318
|
+
raise Auth0::MissingUserId, 'Must supply a valid user_id' if user_id.to_s.empty?
|
319
|
+
|
320
|
+
get "#{users_path}/#{user_id}/organizations"
|
321
|
+
end
|
322
|
+
|
311
323
|
private
|
312
324
|
|
313
325
|
# Users API path
|
data/lib/auth0/exception.rb
CHANGED
@@ -38,6 +38,8 @@ module Auth0
|
|
38
38
|
class MissingUserId < Auth0::Exception; end
|
39
39
|
# exception for unset client_id
|
40
40
|
class MissingClientId < Auth0::Exception; end
|
41
|
+
# exception for unset organization_id
|
42
|
+
class MissingOrganizationId < Auth0::Exception; end
|
41
43
|
# exception for an unset parameter
|
42
44
|
class MissingParameter < Auth0::Exception; end
|
43
45
|
# Api v2 access denied
|
@@ -51,7 +53,7 @@ module Auth0
|
|
51
53
|
# Auth0 API rate-limiting encountered
|
52
54
|
class RateLimitEncountered < Auth0::HTTPError
|
53
55
|
def reset
|
54
|
-
Time.at(headers[
|
56
|
+
Time.at(Integer(headers[:x_ratelimit_reset])).utc
|
55
57
|
end
|
56
58
|
end
|
57
59
|
|
@@ -26,7 +26,10 @@ module Auth0
|
|
26
26
|
call(:delete, url(safe_path), timeout, headers, body.to_json)
|
27
27
|
elsif method == :post_file
|
28
28
|
body.merge!(multipart: true)
|
29
|
-
|
29
|
+
# Ignore the default Content-Type headers and let the HTTP client define them
|
30
|
+
post_file_headers = headers.slice(*headers.keys - ['Content-Type'])
|
31
|
+
# Actual call with the altered headers
|
32
|
+
call(:post, url(safe_path), timeout, post_file_headers, body)
|
30
33
|
else
|
31
34
|
call(method, url(safe_path), timeout, headers, body.to_json)
|
32
35
|
end
|