class OryHydraClient::PublicApi
Attributes
Public Class Methods
# File lib/ory-hydra-client/api/public_api.rb, line 19 def initialize(api_client = ApiClient.default) @api_client = api_client end
Public Instance Methods
OpenID Connect Front-Backchannel Enabled Logout This endpoint initiates and completes user logout at ORY Hydra and initiates OpenID Connect Front-/Back-channel logout: openid.net/specs/openid-connect-frontchannel-1_0.html openid.net/specs/openid-connect-backchannel-1_0.html @param [Hash] opts the optional parameters @return [nil]
# File lib/ory-hydra-client/api/public_api.rb, line 26 def disconnect_user(opts = {}) disconnect_user_with_http_info(opts) nil end
OpenID Connect Front-Backchannel Enabled Logout This endpoint initiates and completes user logout at ORY Hydra and initiates OpenID Connect Front-/Back-channel logout: openid.net/specs/openid-connect-frontchannel-1_0.html openid.net/specs/openid-connect-backchannel-1_0.html @param [Hash] opts the optional parameters @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 35 def disconnect_user_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.disconnect_user ...' end # resource path local_var_path = '/oauth2/sessions/logout' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] # auth_names auth_names = opts[:debug_auth_names] || [] new_options = opts.merge( :operation => :"PublicApi.disconnect_user", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#disconnect_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
OpenID Connect Discovery The well known endpoint an be used to retrieve information for OpenID Connect clients. We encourage you to not roll your own OpenID Connect client but to use an OpenID Connect client library instead. You can learn more on this flow at openid.net/specs/openid-connect-discovery-1_0.html . Popular libraries for OpenID Connect clients include oidc-client-js (JavaScript), go-oidc (Golang), and others. For a full list of clients go here: openid.net/developers/certified/ @param [Hash] opts the optional parameters @return [WellKnown]
# File lib/ory-hydra-client/api/public_api.rb, line 81 def discover_open_id_configuration(opts = {}) data, _status_code, _headers = discover_open_id_configuration_with_http_info(opts) data end
OpenID Connect Discovery The well known endpoint an be used to retrieve information for OpenID Connect clients. We encourage you to not roll your own OpenID Connect client but to use an OpenID Connect client library instead. You can learn more on this flow at openid.net/specs/openid-connect-discovery-1_0.html . Popular libraries for OpenID Connect clients include oidc-client-js (JavaScript), go-oidc (Golang), and others. For a full list of clients go here: openid.net/developers/certified/ @param [Hash] opts the optional parameters @return [Array<(WellKnown
, Integer, Hash)>] WellKnown
data, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 90 def discover_open_id_configuration_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.discover_open_id_configuration ...' end # resource path local_var_path = '/.well-known/openid-configuration' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'WellKnown' # auth_names auth_names = opts[:debug_auth_names] || [] new_options = opts.merge( :operation => :"PublicApi.discover_open_id_configuration", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#discover_open_id_configuration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Check Readiness Status This endpoint returns a 200 status code when the HTTP server is up running and the environment dependencies (e.g. the database) are responsive as well. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance. @param [Hash] opts the optional parameters @return [HealthStatus]
# File lib/ory-hydra-client/api/public_api.rb, line 138 def is_instance_ready(opts = {}) data, _status_code, _headers = is_instance_ready_with_http_info(opts) data end
Check Readiness Status This endpoint returns a 200 status code when the HTTP server is up running and the environment dependencies (e.g. the database) are responsive as well. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance. @param [Hash] opts the optional parameters @return [Array<(HealthStatus
, Integer, Hash)>] HealthStatus
data, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 147 def is_instance_ready_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.is_instance_ready ...' end # resource path local_var_path = '/health/ready' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'HealthStatus' # auth_names auth_names = opts[:debug_auth_names] || [] new_options = opts.merge( :operation => :"PublicApi.is_instance_ready", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#is_instance_ready\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
The OAuth 2.0 Token Endpoint The client makes a request to the token endpoint by sending the following parameters using the "application/x-www-form-urlencoded" HTTP request entity-body. > Do not implement a client for this endpoint yourself. Use a library. There are many libraries > available for any programming language. You can find a list of libraries here: oauth.net/code/ > > Do note that Hydra SDK does not implement this endpoint properly. Use one of the libraries listed above! @param grant_type [String] @param [Hash] opts the optional parameters @option opts [String] :code @option opts [String] :refresh_token @option opts [String] :redirect_uri @option opts [String] :client_id @return [Oauth2TokenResponse]
# File lib/ory-hydra-client/api/public_api.rb, line 200 def oauth2_token(grant_type, opts = {}) data, _status_code, _headers = oauth2_token_with_http_info(grant_type, opts) data end
The OAuth 2.0 Token Endpoint The client makes a request to the token endpoint by sending the following parameters using the "application/x-www-form-urlencoded" HTTP request entity-body. > Do not implement a client for this endpoint yourself. Use a library. There are many libraries > available for any programming language. You can find a list of libraries here: oauth.net/code/ > > Do note that Hydra SDK does not implement this endpoint properly. Use one of the libraries listed above! @param grant_type [String] @param [Hash] opts the optional parameters @option opts [String] :code @option opts [String] :refresh_token @option opts [String] :redirect_uri @option opts [String] :client_id @return [Array<(Oauth2TokenResponse
, Integer, Hash)>] Oauth2TokenResponse
data, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 214 def oauth2_token_with_http_info(grant_type, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.oauth2_token ...' end # verify the required parameter 'grant_type' is set if @api_client.config.client_side_validation && grant_type.nil? fail ArgumentError, "Missing the required parameter 'grant_type' when calling PublicApi.oauth2_token" end # resource path local_var_path = '/oauth2/token' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/x-www-form-urlencoded']) # form parameters form_params = opts[:form_params] || {} form_params['grant_type'] = grant_type form_params['code'] = opts[:'code'] if !opts[:'code'].nil? form_params['refresh_token'] = opts[:'refresh_token'] if !opts[:'refresh_token'].nil? form_params['redirect_uri'] = opts[:'redirect_uri'] if !opts[:'redirect_uri'].nil? form_params['client_id'] = opts[:'client_id'] if !opts[:'client_id'].nil? # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'Oauth2TokenResponse' # auth_names auth_names = opts[:debug_auth_names] || ['basic', 'oauth2'] new_options = opts.merge( :operation => :"PublicApi.oauth2_token", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#oauth2_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
The OAuth 2.0 Authorize Endpoint This endpoint is not documented here because you should never use your own implementation to perform OAuth2 flows. OAuth2 is a very popular protocol and a library for your programming language will exists. To learn more about this flow please refer to the specification: tools.ietf.org/html/rfc6749 @param [Hash] opts the optional parameters @return [nil]
# File lib/ory-hydra-client/api/public_api.rb, line 273 def oauth_auth(opts = {}) oauth_auth_with_http_info(opts) nil end
The OAuth 2.0 Authorize Endpoint This endpoint is not documented here because you should never use your own implementation to perform OAuth2 flows. OAuth2 is a very popular protocol and a library for your programming language will exists. To learn more about this flow please refer to the specification: tools.ietf.org/html/rfc6749 @param [Hash] opts the optional parameters @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 282 def oauth_auth_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.oauth_auth ...' end # resource path local_var_path = '/oauth2/auth' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] # auth_names auth_names = opts[:debug_auth_names] || [] new_options = opts.merge( :operation => :"PublicApi.oauth_auth", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#oauth_auth\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
Revoke OAuth2 Tokens Revoking a token (both access and refresh) means that the tokens will be invalid. A revoked access token can no longer be used to make access requests, and a revoked refresh token can no longer be used to refresh an access token. Revoking a refresh token also invalidates the access token that was created with it. A token may only be revoked by the client the token was generated for. @param token [String] @param [Hash] opts the optional parameters @return [nil]
# File lib/ory-hydra-client/api/public_api.rb, line 331 def revoke_o_auth2_token(token, opts = {}) revoke_o_auth2_token_with_http_info(token, opts) nil end
Revoke OAuth2 Tokens Revoking a token (both access and refresh) means that the tokens will be invalid. A revoked access token can no longer be used to make access requests, and a revoked refresh token can no longer be used to refresh an access token. Revoking a refresh token also invalidates the access token that was created with it. A token may only be revoked by the client the token was generated for. @param token [String] @param [Hash] opts the optional parameters @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 341 def revoke_o_auth2_token_with_http_info(token, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.revoke_o_auth2_token ...' end # verify the required parameter 'token' is set if @api_client.config.client_side_validation && token.nil? fail ArgumentError, "Missing the required parameter 'token' when calling PublicApi.revoke_o_auth2_token" end # resource path local_var_path = '/oauth2/revoke' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # HTTP header 'Content-Type' header_params['Content-Type'] = @api_client.select_header_content_type(['application/x-www-form-urlencoded']) # form parameters form_params = opts[:form_params] || {} form_params['token'] = token # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] # auth_names auth_names = opts[:debug_auth_names] || ['basic', 'oauth2'] new_options = opts.merge( :operation => :"PublicApi.revoke_o_auth2_token", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#revoke_o_auth2_token\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
OpenID Connect Userinfo This endpoint returns the payload of the ID Token, including the idTokenExtra values, of the provided OAuth 2.0 Access Token. For more information please [refer to the spec](openid.net/specs/openid-connect-core-1_0.html#UserInfo). In the case of authentication error, a WWW-Authenticate header might be set in the response with more information about the error. See [the spec](datatracker.ietf.org/doc/html/rfc6750#section-3) for more details about header format. @param [Hash] opts the optional parameters @return [UserinfoResponse]
# File lib/ory-hydra-client/api/public_api.rb, line 396 def userinfo(opts = {}) data, _status_code, _headers = userinfo_with_http_info(opts) data end
OpenID Connect Userinfo This endpoint returns the payload of the ID Token, including the idTokenExtra values, of the provided OAuth 2.0 Access Token. For more information please [refer to the spec](openid.net/specs/openid-connect-core-1_0.html#UserInfo). In the case of authentication error, a WWW-Authenticate header might be set in the response with more information about the error. See [the spec](datatracker.ietf.org/doc/html/rfc6750#section-3) for more details about header format. @param [Hash] opts the optional parameters @return [Array<(UserinfoResponse
, Integer, Hash)>] UserinfoResponse
data, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 405 def userinfo_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.userinfo ...' end # resource path local_var_path = '/userinfo' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'UserinfoResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( :operation => :"PublicApi.userinfo", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#userinfo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end
JSON Web Keys Discovery This endpoint returns JSON Web Keys to be used as public keys for verifying OpenID Connect ID Tokens and, if enabled, OAuth 2.0 JWT Access Tokens. This endpoint can be used with client libraries like [node-jwks-rsa](github.com/auth0/node-jwks-rsa) among others. @param [Hash] opts the optional parameters @return [JSONWebKeySet]
# File lib/ory-hydra-client/api/public_api.rb, line 453 def well_known(opts = {}) data, _status_code, _headers = well_known_with_http_info(opts) data end
JSON Web Keys Discovery This endpoint returns JSON Web Keys to be used as public keys for verifying OpenID Connect ID Tokens and, if enabled, OAuth 2.0 JWT Access Tokens. This endpoint can be used with client libraries like [node-jwks-rsa](github.com/auth0/node-jwks-rsa) among others. @param [Hash] opts the optional parameters @return [Array<(JSONWebKeySet
, Integer, Hash)>] JSONWebKeySet
data, response status code and response headers
# File lib/ory-hydra-client/api/public_api.rb, line 462 def well_known_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: PublicApi.well_known ...' end # resource path local_var_path = '/.well-known/jwks.json' # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'JSONWebKeySet' # auth_names auth_names = opts[:debug_auth_names] || [] new_options = opts.merge( :operation => :"PublicApi.well_known", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging @api_client.config.logger.debug "API called: PublicApi#well_known\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end