Class: TimeLogic::Api::UtilityApi
- Inherits:
-
Object
- Object
- TimeLogic::Api::UtilityApi
- Defined in:
- lib/timelogic-api/api/utility_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#get_public_signing_key(opts = {}) ⇒ JwksResponse
Public signing key set Unauthenticated JWKS endpoint for verifying signed JSON responses.
-
#get_public_signing_key_with_http_info(opts = {}) ⇒ Array<(JwksResponse, Integer, Hash)>
Public signing key set Unauthenticated JWKS endpoint for verifying signed JSON responses.
-
#initialize(api_client = ApiClient.default) ⇒ UtilityApi
constructor
A new instance of UtilityApi.
Constructor Details
#initialize(api_client = ApiClient.default) ⇒ UtilityApi
Returns a new instance of UtilityApi.
19 20 21 |
# File 'lib/timelogic-api/api/utility_api.rb', line 19 def initialize(api_client = ApiClient.default) @api_client = api_client end |
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/timelogic-api/api/utility_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#get_public_signing_key(opts = {}) ⇒ JwksResponse
Public signing key set
Unauthenticated JWKS endpoint for verifying signed JSON responses. The public gateway proxies this route to the dedicated time-signing worker. For compatibility with client tooling, the gateway serves the JWKS body as standard application/json. Use this endpoint together with the detached signature headers returned on supported sign=true JSON responses: - X-TimeLogic-Key-Id - X-TimeLogic-Signature - X-TimeLogic-Signature-Alg - X-TimeLogic-Signature-Timestamp - X-TimeLogic-Content-SHA256 - X-TimeLogic-Signature-Input X-TimeLogic-Signature-Input is the exact Base64URL-encoded UTF-8 v1 envelope. It signs the path and query (including sign=true), but deliberately excludes the scheme, host, and Content-Type so proxy normalization cannot change the signed bytes. Behavior: - without a query string, the response returns the full retained JWKS set - the active Ed25519 key is listed first - kid=<key-id> returns only the matching retained public key - historical public keys may remain published after rotation so older signed responses can still be verified
27 28 29 30 |
# File 'lib/timelogic-api/api/utility_api.rb', line 27 def get_public_signing_key(opts = {}) data, _status_code, _headers = get_public_signing_key_with_http_info(opts) data end |
#get_public_signing_key_with_http_info(opts = {}) ⇒ Array<(JwksResponse, Integer, Hash)>
Public signing key set Unauthenticated JWKS endpoint for verifying signed JSON responses. The public gateway proxies this route to the dedicated `time-signing` worker. For compatibility with client tooling, the gateway serves the JWKS body as standard `application/json`. Use this endpoint together with the detached signature headers returned on supported `sign=true` JSON responses: - `X-TimeLogic-Key-Id` - `X-TimeLogic-Signature` - `X-TimeLogic-Signature-Alg` - `X-TimeLogic-Signature-Timestamp` - `X-TimeLogic-Content-SHA256` - `X-TimeLogic-Signature-Input` `X-TimeLogic-Signature-Input` is the exact Base64URL-encoded UTF-8 `v1` envelope. It signs the path and query (including `sign=true`), but deliberately excludes the scheme, host, and `Content-Type` so proxy normalization cannot change the signed bytes. Behavior: - without a query string, the response returns the full retained JWKS set - the active Ed25519 key is listed first - `kid=<key-id>` returns only the matching retained public key - historical public keys may remain published after rotation so older signed responses can still be verified
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/timelogic-api/api/utility_api.rb', line 37 def get_public_signing_key_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: UtilityApi.get_public_signing_key ...' end # resource path local_var_path = '/.well-known/time-api-public-key' # query parameters query_params = opts[:query_params] || {} query_params[:'kid'] = opts[:'kid'] if !opts[:'kid'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'JwksResponse' # auth_names auth_names = opts[:debug_auth_names] || [] = opts.merge( :operation => :"UtilityApi.get_public_signing_key", :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, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: UtilityApi#get_public_signing_key\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |