Class: Stytch::ConnectedApp::Clients
- Inherits:
-
Object
- Object
- Stytch::ConnectedApp::Clients
- Includes:
- RequestHelper
- Defined in:
- lib/stytch/connected_apps.rb
Defined Under Namespace
Classes: Secrets
Instance Attribute Summary collapse
-
#secrets ⇒ Object
readonly
Returns the value of attribute secrets.
Instance Method Summary collapse
-
#create(client_type:, client_name: nil, client_description: nil, redirect_urls: nil, full_access_allowed: nil, access_token_expiry_minutes: nil, access_token_custom_audience: nil, access_token_template_content: nil, post_logout_redirect_urls: nil, logo_url: nil, bypass_consent_for_offline_access: nil, id_token_template_content: nil) ⇒ Object
Creates a new Connected App.
-
#delete(client_id:) ⇒ Object
Deletes a Connected App.
-
#get(client_id:) ⇒ Object
Retrieve details of a specific Connected App by
client_id. -
#initialize(connection) ⇒ Clients
constructor
A new instance of Clients.
-
#search(cursor: nil, limit: nil) ⇒ Object
Search for Connected Apps.
-
#update(client_id:, client_name: nil, client_description: nil, redirect_urls: nil, full_access_allowed: nil, access_token_expiry_minutes: nil, access_token_custom_audience: nil, access_token_template_content: nil, post_logout_redirect_urls: nil, logo_url: nil, bypass_consent_for_offline_access: nil, id_token_template_content: nil) ⇒ Object
Updates mutable fields of a Connected App.
Methods included from RequestHelper
#delete_request, #get_request, #post_request, #put_request, #request_with_query_params
Constructor Details
Instance Attribute Details
#secrets ⇒ Object (readonly)
Returns the value of attribute secrets.
24 25 26 |
# File 'lib/stytch/connected_apps.rb', line 24 def secrets @secrets end |
Instance Method Details
#create(client_type:, client_name: nil, client_description: nil, redirect_urls: nil, full_access_allowed: nil, access_token_expiry_minutes: nil, access_token_custom_audience: nil, access_token_template_content: nil, post_logout_redirect_urls: nil, logo_url: nil, bypass_consent_for_offline_access: nil, id_token_template_content: nil) ⇒ Object
Creates a new Connected App. If the Connected App client_type is first_party or third_party a client_secret is returned.
Important: This is the only time you will be able to view the generated client_secret in the API response. Stytch stores a hash of the client_secret and cannot recover the value if lost. Be sure to persist the client_secret in a secure location. If the client_secret is lost, you will need to trigger a secret rotation flow to receive another one.
Parameters:
- client_type
The type of Connected App. Supported values are
first_party,first_party_public,third_party, andthird_party_public. The type of this field isCreateRequestClientType(string enum).- client_name
A human-readable name for the client. The type of this field is nilable
String.- client_description
A human-readable description for the client. The type of this field is nilable
String.- redirect_urls
Array of redirect URI values for use in OAuth Authorization flows. The type of this field is nilable list of
String.- full_access_allowed
Valid for first party clients only. If
true, an authorization token granted to this Client can be exchanged for a full Stytch session. The type of this field is nilableBoolean.- access_token_expiry_minutes
The number of minutes before the access token expires. The default is 60 minutes. The type of this field is nilable
Integer.- access_token_custom_audience
The custom audience for the access token. The type of this field is nilable
String.- access_token_template_content
The content of the access token custom claims template. The template must be a valid JSON object. The type of this field is nilable
String.- post_logout_redirect_urls
Array of redirect URI values for use in OIDC Logout flows. The type of this field is nilable list of
String.- logo_url
The logo URL of the Connected App, if any. The type of this field is nilable
String.- bypass_consent_for_offline_access
Valid for first party clients only. If true, the client does not need to request explicit user consent for the
offline_accessscope. The type of this field is nilableBoolean.- id_token_template_content
(no documentation yet) The type of this field is nilable
String.
Returns:
An object with the following fields:
- request_id
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue. The type of this field is
String.- connected_app
The Connected App created by this API call. The type of this field is
ConnectedAppWithClientSecret(+object+).- status_code
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors. The type of this field is
Integer.
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 |
# File 'lib/stytch/connected_apps.rb', line 255 def create( client_type:, client_name: nil, client_description: nil, redirect_urls: nil, full_access_allowed: nil, access_token_expiry_minutes: nil, access_token_custom_audience: nil, access_token_template_content: nil, post_logout_redirect_urls: nil, logo_url: nil, bypass_consent_for_offline_access: nil, id_token_template_content: nil ) headers = {} request = { client_type: client_type } request[:client_name] = client_name unless client_name.nil? request[:client_description] = client_description unless client_description.nil? request[:redirect_urls] = redirect_urls unless redirect_urls.nil? request[:full_access_allowed] = full_access_allowed unless full_access_allowed.nil? request[:access_token_expiry_minutes] = access_token_expiry_minutes unless access_token_expiry_minutes.nil? request[:access_token_custom_audience] = access_token_custom_audience unless access_token_custom_audience.nil? request[:access_token_template_content] = access_token_template_content unless access_token_template_content.nil? request[:post_logout_redirect_urls] = post_logout_redirect_urls unless post_logout_redirect_urls.nil? request[:logo_url] = logo_url unless logo_url.nil? request[:bypass_consent_for_offline_access] = unless .nil? request[:id_token_template_content] = id_token_template_content unless id_token_template_content.nil? post_request('/v1/connected_apps/clients', request, headers) end |
#delete(client_id:) ⇒ Object
Deletes a Connected App.
Parameters:
- client_id
The ID of the client. The type of this field is
String.
Returns:
An object with the following fields:
- request_id
(no documentation yet) The type of this field is
String.- client_id
The ID of the client. The type of this field is
String.- status_code
(no documentation yet) The type of this field is
Integer.
159 160 161 162 163 164 |
# File 'lib/stytch/connected_apps.rb', line 159 def delete( client_id: ) headers = {} delete_request("/v1/connected_apps/clients/#{client_id}", headers) end |
#get(client_id:) ⇒ Object
Retrieve details of a specific Connected App by client_id.
Parameters:
- client_id
The ID of the Connected App client. The type of this field is
String.
Returns:
An object with the following fields:
- request_id
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue. The type of this field is
String.- connected_app
The Connected App affected by this operation. The type of this field is
ConnectedApp(+object+).- status_code
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors. The type of this field is
Integer.
50 51 52 53 54 55 56 57 |
# File 'lib/stytch/connected_apps.rb', line 50 def get( client_id: ) headers = {} query_params = {} request = request_with_query_params("/v1/connected_apps/clients/#{client_id}", query_params) get_request(request, headers) end |
#search(cursor: nil, limit: nil) ⇒ Object
Search for Connected Apps. Supports cursor-based pagination. Specific filters coming soon.
Parameters:
- cursor
The
cursorfield allows you to paginate through your results. Each result array is limited to 1000 results. If your query returns more than 1000 results, you will need to paginate the responses using thecursor. If you receive a response that includes a non-nullnext_cursorin theresults_metadataobject, repeat the search call with thenext_cursorvalue set to thecursorfield to retrieve the next page of results. Continue to make search calls until thenext_cursorin the response is null. The type of this field is nilableString.- limit
The number of search results to return per page. The default limit is 100. A maximum of 1000 results can be returned by a single search request. If the total size of your result set is greater than one page size, you must paginate the response. See the
cursorfield. The type of this field is nilableInteger.
Returns:
An object with the following fields:
- request_id
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue. The type of this field is
String.- connected_apps
(no documentation yet) The type of this field is list of
ConnectedApp(+object+).- results_metadata
The search
results_metadataobject contains metadata relevant to your specific query like total andnext_cursor. The type of this field isResultsMetadata(+object+).- status_code
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors. The type of this field is
Integer.
190 191 192 193 194 195 196 197 198 199 200 |
# File 'lib/stytch/connected_apps.rb', line 190 def search( cursor: nil, limit: nil ) headers = {} request = {} request[:cursor] = cursor unless cursor.nil? request[:limit] = limit unless limit.nil? post_request('/v1/connected_apps/clients/search', request, headers) end |
#update(client_id:, client_name: nil, client_description: nil, redirect_urls: nil, full_access_allowed: nil, access_token_expiry_minutes: nil, access_token_custom_audience: nil, access_token_template_content: nil, post_logout_redirect_urls: nil, logo_url: nil, bypass_consent_for_offline_access: nil, id_token_template_content: nil) ⇒ Object
Updates mutable fields of a Connected App. Cannot update Client Type, Client ID, or Secrets.
Parameters:
- client_id
The ID of the client. The type of this field is
String.- client_name
A human-readable name for the client. The type of this field is nilable
String.- client_description
A human-readable description for the client. The type of this field is nilable
String.- redirect_urls
Array of redirect URI values for use in OAuth Authorization flows. The type of this field is nilable list of
String.- full_access_allowed
Valid for first party clients only. If
true, an authorization token granted to this Client can be exchanged for a full Stytch session. The type of this field is nilableBoolean.- access_token_expiry_minutes
The number of minutes before the access token expires. The default is 60 minutes. The type of this field is nilable
Integer.- access_token_custom_audience
The custom audience for the access token. The type of this field is nilable
String.- access_token_template_content
The content of the access token custom claims template. The template must be a valid JSON object. The type of this field is nilable
String.- post_logout_redirect_urls
Array of redirect URI values for use in OIDC Logout flows. The type of this field is nilable list of
String.- logo_url
The logo URL of the Connected App, if any. The type of this field is nilable
String.- bypass_consent_for_offline_access
Valid for first party clients only. If true, the client does not need to request explicit user consent for the
offline_accessscope. The type of this field is nilableBoolean.- id_token_template_content
(no documentation yet) The type of this field is nilable
String.
Returns:
An object with the following fields:
- request_id
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue. The type of this field is
String.- connected_app
The Connected App affected by this operation. The type of this field is
ConnectedApp(+object+).- status_code
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors. The type of this field is
Integer.
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/stytch/connected_apps.rb', line 110 def update( client_id:, client_name: nil, client_description: nil, redirect_urls: nil, full_access_allowed: nil, access_token_expiry_minutes: nil, access_token_custom_audience: nil, access_token_template_content: nil, post_logout_redirect_urls: nil, logo_url: nil, bypass_consent_for_offline_access: nil, id_token_template_content: nil ) headers = {} request = {} request[:client_name] = client_name unless client_name.nil? request[:client_description] = client_description unless client_description.nil? request[:redirect_urls] = redirect_urls unless redirect_urls.nil? request[:full_access_allowed] = full_access_allowed unless full_access_allowed.nil? request[:access_token_expiry_minutes] = access_token_expiry_minutes unless access_token_expiry_minutes.nil? request[:access_token_custom_audience] = access_token_custom_audience unless access_token_custom_audience.nil? request[:access_token_template_content] = access_token_template_content unless access_token_template_content.nil? request[:post_logout_redirect_urls] = post_logout_redirect_urls unless post_logout_redirect_urls.nil? request[:logo_url] = logo_url unless logo_url.nil? request[:bypass_consent_for_offline_access] = unless .nil? request[:id_token_template_content] = id_token_template_content unless id_token_template_content.nil? put_request("/v1/connected_apps/clients/#{client_id}", request, headers) end |