Skip to main content

HS.HC.OAuth2.Client.Installer

class HS.HC.OAuth2.Client.Installer

This class provides API methods related to setting up OAuth Client definitions.

Method Inventory

Parameters

parameter SSLConfigName = OAuth2.SSLConfig;

Methods

classmethod AddFHIRResourceClients()
Utility method for command-line use. This method cannot be called from an upgrade step, as it involves performing HTTP requests as part of Dynamic Client Registration.

For all ServerDefinitions that do not have a FHIR resource server client that uses our naming convention, create one that does.
classmethod ConfigureConfidentialClient(ByRef pIssuerEndpoint As %String, ByRef pClientProperties, ByRef pMetadataProperties) as %Boolean
@API.Method
Configure a confidential client for the specified issuer endpoint. If the specified client name already exists for the issuer endpoint, then this method does not try to update or overwrite it, and returns 0.
@Argument pIssuerEndpoint Endpoint to identify the server definition. This method may massage this value to match an existing server definition. The caller of this method should note the ByRef returned endpoint value. @Argument ByRef pClientProperties Array of OAuth2 Client property values to apply.
Formats are:
pClientProperties(propertyName) = propertyValue
pClientProperties(propertyName.subPropertyName) = propertyValue
@Argument ByRef pMetadataProperties Array of OAuth2 Client metadata values to apply.
Format is: pMetadataProperties(propertyName) = propertyValue
@Return Boolean value indicating whether this method actually configured a client or not.
classmethod ConfigureFHIRResourceClient(ByRef pIssuerEndpoint As %String, ByRef pClientName As %String = "") as %Boolean
@API.Method
Configure a resource server client to be used by an IRIS for Health FHIR resource server. If a client name is not specified, then this method generates one to use, based on an internal naming convention. If the specified or generated client name already exists for the specified issuer endpoint, then this method does not try to update or overwrite it, and returns 0.
@Argument pIssuerEndpoint Endpoint to identify the server definition. This method may massage this value to match an existing server definition. The caller of this method should note the ByRef returned endpoint value. @Argument pClientName Optional client name. If specified, then this value is used. Otherwise, a client name is generated, used and returned ByRef. @Return Boolean value indicating whether this method actually configured a client or not.
classmethod ConfigureInternalOAuthClients() as %Status
Utility method for setting up an OAuth client-side server definition that points to the OAuth server in the local IRIS instance, plus a FHIR resource server client and sample confidential client on that server definition.

Executing this method from the IRIS Terminal command line requires user privilege to write to the IRISSYS database.
classmethod OAuthServerDiscoverAndSave(ByRef pIssuerEndpoint As %String)
@API.Method
Creates an OAuth client-side server definition for the specified OAuth issuer endpoint. If a definition already exists for that endpoint, then this method just refreshes the definition metadata.
@Argument pIssuerEndpoint Endpoint to identify the server definition. This method may massage this value to match an existing server definition. The caller of this method should note the ByRef returned endpoint value.
FeedbackOpens in a new tab