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

persistent class %OAuth2.Server.Properties extends %Persistent

%OAuth2.Server.Properties stores the properties and claims that are used to communicate between various parts of the OAuth 2.0 authorization server. See the description of each property of this class to understand usage of the properties and claims.
Note that storage is not in a % global. Therefore allowing the claim to be viewed from any namespace, but only opened or saved with the proper credentials.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
9 6


Summary

Properties
ClaimValues CustomProperties IDTokenClaims IntrospectionClaims
JWTClaims RequestProperties ResponseProperties ServerProperties
UserinfoClaims

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 GetClaimValue
GetConvertedClaimValue NextClaimValue RemoveClaimValue SetClaimValue


Properties

• property ClaimValues as array of %String(MAXLEN=1024);
ClaimValues associates the value to be returned for the claim will with the claim having the same key in a claims array.
Each claim value is stored as $lb(type,value) where type = "string", "boolean", "number" or "object".
If type="object", then value is the JSON object serialized as a string. For all types, if the value is a $list, then it is an array of the specified type.
• property CustomProperties as array of %String(MAXLEN=1024);
CustomProperties contains the custom properties to be used to communicate between various pieces of customization code.
CustomProperties.GetAt() is the value of the property.
• property IDTokenClaims as array of %OAuth2.Server.Claim;
IDTokenClaims specifies the claims that are needed for the IDToken beyond the base set of required claims. The "iss", "sub", "exp", "aud" and "azp" claims will be returned even if not in IDTokenClaims. The claims are defined based on the scope and request claims parameter. The value to be returned for the claim will have the same key in the ClaimValues property. The value of the claims will usually be set by the ValidateUser class.
IDTokenClaims.GetAt() defines the claim.
• property IntrospectionClaims as array of %OAuth2.Server.Claim;
IntrospectionClaims specifies the claims that need to be returned by the Introspection endpoint beyond the base required claims. The scope, client_id, username, token_type, exp, iat, nbf, sub, aud, iss and jti claims will be returned even if they are not in IntrospectionClaims. The value of the claims will usually be set by the ValidateUser class.
IntrospectionClaims.GetAt() defines the claim.
• property JWTClaims as array of %OAuth2.Server.Claim;
JWTClaims specifies the claims that are needed for the JWT access token that is returned by the default JWT based access token class (%OAuth2.Server.JWT) beyond the base set of required claims. The "iss", "sub", "exp", "aud" and "jti" claims will be returned even if not in JWTClaims. The claims are defined by the customization code. The value to be returned for the claim will have the same key in the ClaimValues property. The value of the claims will usually be set by the ValidateUser class.
JWTClaims.GetAt() defines the claim.
• property RequestProperties as array of %String(MAXLEN=16384);
RequestProperties contains the query parameters from the authorization request.
RequestProperties.GetAt() is the value of the query parameter.
• property ResponseProperties as array of %String(MAXLEN=1024);
ResponseProperties contains the properties to be added to the JSON response object to a token request.
ResponseProperties.GetAt() is the value of the JSON response property.
• property ServerProperties as array of %String(MAXLEN=1024);
ServerProperties contains properties that the authorization server chooses to share with the customization code.
The logo_uri, client_uri, policy_uri and tos_uri client properties are shared in this way for use by the Authentication Class.
ServerProperties.GetAt() is the value of the property.
• property UserinfoClaims as array of %OAuth2.Server.Claim;
UserinfoClaims specifies the claims that need to be returned by the Userinfo endpoint beyond the base required claims. The "sub" claim will be returned even if not in UserinfoClaims. The claims are defined based on the scope and request claims parameter. The value to be returned for the claim will have the same key in the ClaimValues property. The value of the claims will usually be set by the ValidateUser class.
UserinfoClaims.GetAt() defines the claim.

Methods

• method GetClaimValue(name As %String, Output type) as %String
Get the value and type of the claim named by the name argument.
• method GetConvertedClaimValue(name As %String, Output type) as %String
Get the value and type of the claim named by the name argument with $list value converted to %DynamicArray
• method NextClaimValue(name As %String) as %String
Get the next name from the ClaimValues property
• method RemoveClaimValue(name As %String)
Remove the value of the claim named by the name argument.
• method SetClaimValue(name As %String, value As %String, type As %String = "string")
Set the value of the claim named by the name argument.
type = "string", "boolean", "number" or "object". The default type is "string" If type="object", then value is the JSON object serialized as a string. For all types, if the value is a $list, then it is an array of the specified type.


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