%SYS
Client Class Reference

OAuth2.Server.Client is a persistent class which describes the clients which have registered with this authorization server. More...

Inheritance diagram for Client:
Collaboration diagram for Client:

Public Member Functions

_.Library.Status OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount)
 OAuth2.Server.Client is a persistent class which describes the clients which have registered with this authorization server. More...
 
_.Library.Boolean RefreshJWKS (_.Library.String sslConfig, _.Library.Boolean force, _.Library.Boolean save, _.Library.Status sc)
 If the client's JWKS was specified using the jwks_uri metadata parameter, this method will fetch the jwks if. More...
 
_.Library.Status Save ()
 Save this OAuth2.Server.Client instance.
 
_.Library.Status SetPublicJWKS (_.Library.String publicJWKS, _.Library.String jwksUri)
 Manually set the client supplied public JWKS and optionally jwks_uri.
 
_.Library.Status UpdateJWKS (OAuth2.Server.Configuration server, _.Library.Status sc)
 Get and save a new public JWKS for this client if the JWKS was specified using jwks_uri metadata. More...
 

Static Public Member Functions

_.Library.Status DeleteId (_.Library.String id)
 Delete this client configuration.
 
OAuth2.Server.Client Open (_.Library.String clientId, _.Library.Status sc)
 Open the OAuth2.Server.Client instance.
 

Public Attributes

 ClientCredentials
 ClientCredentials is the alias of the SYS.X509Credentials object which contains the client's certificate. More...
 
 ClientId
 The unique id which we generate for this client. More...
 
 ClientSecret
 ClientSecret is the secret which is used as a client password. More...
 
 ClientType
 The type of client configuration:
More...
 
 DefaultScope
 DefaultScope is a blank separated list containing the default for access token scope. More...
 
 Description
 Description of the client. More...
 
 LaunchURL
 LaunchURL is the URL used to launch this client. More...
 
 Metadata
 The meta data which describes this client. More...
 
 Name
 The name of this client. More...
 
 RedirectURL
 RedirectURL is the expected redirect URL for this client. More...
 
 SupportedGrantTypes
 **** Moved to OAuth2.Client.Metadata when dynamic client support introduced
More...
 
 client_name
 **** Moved to OAuth2.Client.Metadata when dynamic client support introduced
More...
 
 client_uri
 **** Moved to OAuth2.Client.Metadata when dynamic client support introduced
More...
 
 logo_uri
 **** Moved to OAuth2.Client.Metadata when dynamic client support introduced
More...
 
 policy_uri
 **** Moved to OAuth2.Client.Metadata when dynamic client support introduced
More...
 
 tos_uri
 **** Moved to OAuth2.Client.Metadata when dynamic client support introduced
More...
 

Detailed Description

OAuth2.Server.Client is a persistent class which describes the clients which have registered with this authorization server.

This class is used internally by InterSystems IRIS. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

Member Function Documentation

◆ OnAddToSaveSet()

_.Library.Status OnAddToSaveSet ( _.Library.Integer  depth,
_.Library.Integer  insert,
_.Library.Integer  callcount 
)

OAuth2.Server.Client is a persistent class which describes the clients which have registered with this authorization server.

This class is used internally by InterSystems IRIS. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

This callback method is invoked when the current object is added to the SaveSet,

either because Save() was invoked on this object or on an object that references this object. OnAddToSaveSet can modify the current object. It can also add other objects to the current SaveSet by invoking AddToSaveSet or remove objects by calling RemoveFromSaveSet.

If this method returns an error status then Save() will fail and the transaction will be rolled back.

◆ RefreshJWKS()

_.Library.Boolean RefreshJWKS ( _.Library.String  sslConfig,
_.Library.Boolean  force,
_.Library.Boolean  save,
_.Library.Status  sc 
)

If the client's JWKS was specified using the jwks_uri metadata parameter, this method will fetch the jwks if.

it has expired.

Parameters:

  • sslConfig - the name of an SSL configuration to use when communicating with the remote server
  • force - refresh the jwks even if the cached version is still valid (default is 0)
  • save - save the client definition (default is 1)
  • sc (output) - Status code structure containing any errors

Returns:

  • 1 - if the jwks was updated
  • 0 - if the cached version was still valid

◆ UpdateJWKS()

Get and save a new public JWKS for this client if the JWKS was specified using jwks_uri metadata.

Returns a status code.
This method is deprecated. New code should use <Method>RefreshJWKS</Method> instead.

Member Data Documentation

◆ ClientCredentials

ClientCredentials

ClientCredentials is the alias of the SYS.X509Credentials object which contains the client's certificate.

 

◆ ClientId

ClientId

The unique id which we generate for this client.

 

◆ ClientSecret

ClientSecret

ClientSecret is the secret which is used as a client password.

 

◆ ClientType

ClientType

The type of client configuration:

public - a public client. See RFC 6749 confidential - a confidential client. See RFC 6749 resource - a resource server which is not also a client.
Chosen by user during configuration. Will usually be confidential client for an InterSystems IRIS application.  

◆ DefaultScope

DefaultScope

DefaultScope is a blank separated list containing the default for access token scope.

if scope is not specified in the access token request.  

◆ Description

Description

Description of the client.


Chosen by user during configuration.  

◆ LaunchURL

LaunchURL

LaunchURL is the URL used to launch this client.

LaunchURL may be used in some circumstances to identify the client and as the value of the aud claim.  

◆ Metadata

The meta data which describes this client.

 

◆ Name

Name

The name of this client.

When using dynamic registration the initial value will be the value of the "client_name" metadata field.

 

◆ RedirectURL

RedirectURL

RedirectURL is the expected redirect URL for this client.

 

◆ SupportedGrantTypes

SupportedGrantTypes

**** Moved to OAuth2.Client.Metadata when dynamic client support introduced

SupportedGrantTypes is the grant types that are supported to create an access token. This property is a string of 1 to 5 characters with one character for each supported grant type as follows:

  • "A" - Authorization Code
  • "I" - Implicit
  • "P" - Resource Owner Password Credentials
  • "C" - Client Credentials
  • "J" - JWT Authorization  

◆ client_name

client_name

**** Moved to OAuth2.Client.Metadata when dynamic client support introduced

client_name is the name of the Client to be presented to the EndUser.  

◆ client_uri

client_uri

**** Moved to OAuth2.Client.Metadata when dynamic client support introduced

client_uri is the URL of the home page of the Client. The value of this field must point to a valid Web page. If present, the authorization server will display this URL to the EndUser in a followable fashion.  

◆ logo_uri

logo_uri

**** Moved to OAuth2.Client.Metadata when dynamic client support introduced

logo_uri is a URL that references a logo for the Client application. If present, the authorization server will display this image to the EndUser during approval. The value of this field must point to a valid image file.  

◆ policy_uri

policy_uri

**** Moved to OAuth2.Client.Metadata when dynamic client support introduced

policy_uri is the that the Relying Party Client provides to the EndUser to read about the how the profile data will be used. The value of this field must point to a valid web page.  

◆ tos_uri

tos_uri

**** Moved to OAuth2.Client.Metadata when dynamic client support introduced

tos_uri is the URL that the Relying Party Client provides to the EndUser to read about the Relying Party's terms of service. The value of this field must point to a valid web page.