Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [%SYS] >  [OAuth2] >  [Server] >  [Client]
Private  Storage   

persistent class OAuth2.Server.Client extends %Persistent

OAuth2.Server.Configuration 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.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
18 25 1 1


Summary

Properties
ClientCredentials ClientId ClientSecret ClientType
DefaultScope Description LaunchURL Metadata
Name RedirectURL SupportedGrantTypes client_name
client_uri logo_uri policy_uri tos_uri

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%InsertBatch %IsA %IsModified %IsNull
%KillExtent %KillExtentData %LoadFromMemory %LockExtent
%LockId %New %NormalizeObject %ObjectIsNull
%ObjectModified %Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport %UnlockExtent
%UnlockId %ValidateIndices %ValidateObject DeleteId
Open Save SetPublicJWKS UpdateJWKS


Properties

• property ClientCredentials as %String;
ClientCredentials is the alias of the %SYS.X509Credentials object which contains the client's certificate.
• property ClientId as %String(MAXLEN=1024,MINLEN=1) [ Required ];
The unique id which we generate for this client.
• property ClientSecret as %String(MAXLEN=1024);
ClientSecret is the secret which is used as a client password.
• property ClientType as %String(VALUELIST=",public,confidential,resource") [ Required ];
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.
• property DefaultScope as %String(MAXLEN=1024);
DefaultScope is a blank separated list containing the default for access token scope if scope is not specified in the access token request.
• property Description as %String(MAXLEN=256);
Description of the client.
Chosen by user during configuration.
• property LaunchURL as %String(MAXLEN=1024);
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.
• property Metadata as OAuth2.Client.Metadata;
The meta data which describes this client.
• property Name as %String(MAXLEN=128);
Arbitrary name of client. Required only if entered manually. When dynamically registered, Name is set to "client_name" from the client metadata.
• property RedirectURL as list of %String(MAXLEN=1024);
RedirectURL is the expected redirect URL for this client.
• property SupportedGrantTypes as %String(MAXLEN=5,MINLEN=1);
**** 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
• property client_name as %String(MAXLEN=128);
**** Moved to OAuth2.Client.Metadata when dynamic client support introduced
client_name is the name of the Client to be presented to the EndUser.
• property client_uri as %OAuth2.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.
• property logo_uri as %OAuth2.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.
• property policy_uri as %OAuth2.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.
• property tos_uri as %OAuth2.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.

Methods

• classmethod DeleteId(id As %String) as %Status
Delete this client configuration.
• classmethod Open(clientId As %String, Output sc As %Status) as OAuth2.Server.Client
Open the OAuth2.Server.Client instance.
• method Save() as %Status
Save this OAuth2.Server.Client instance.
• method SetPublicJWKS(publicJWKS As %String, jwksUri As %String) as %Status
Manually set the client supplied public JWKS and optionally jwks_uri.
• method UpdateJWKS(server As OAuth2.Server.Configuration, Output sc As %Status) as %Boolean
Get and save a new public JWKS for this client if the JWKS was specified using jwks_uri metadata. Return true if new JWKS was obtained

Queries

• query List()
SQL Query :
SELECT Name, ClientId, ClientType, RedirectURL, Description FROM Client
ORDER BY Name
List client registrations for SMP page

Indices

•index (ClientIndex on ClientId) [IdKey,Unique];
The IDKEY for the client configuration class.


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.