Skip to main content

%OAuth2.Server.Properties

persistent class %OAuth2.Server.Properties extends %Library.Persistent

SQL Table Name: %OAuth2_Server.Properties

%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.

Property Inventory

Method Inventory

Properties

property ClaimValues as array of %String);
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 methods: ClaimValuesBuildValueArray(), ClaimValuesCollectionToDisplay(), ClaimValuesCollectionToOdbc(), ClaimValuesDisplayToCollection(), ClaimValuesDisplayToLogical(), ClaimValuesGet(), ClaimValuesGetObject(), ClaimValuesGetObjectId(), ClaimValuesGetStored(), ClaimValuesGetSwizzled(), ClaimValuesIsValid(), ClaimValuesLogicalToDisplay(), ClaimValuesLogicalToOdbc(), ClaimValuesNormalize(), ClaimValuesOdbcToCollection(), ClaimValuesSet(), ClaimValuesSetObject(), ClaimValuesSetObjectId()
property CustomProperties as array of %String);
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 methods: CustomPropertiesBuildValueArray(), CustomPropertiesCollectionToDisplay(), CustomPropertiesCollectionToOdbc(), CustomPropertiesDisplayToCollection(), CustomPropertiesDisplayToLogical(), CustomPropertiesGet(), CustomPropertiesGetObject(), CustomPropertiesGetObjectId(), CustomPropertiesGetStored(), CustomPropertiesGetSwizzled(), CustomPropertiesIsValid(), CustomPropertiesLogicalToDisplay(), CustomPropertiesLogicalToOdbc(), CustomPropertiesNormalize(), CustomPropertiesOdbcToCollection(), CustomPropertiesSet(), CustomPropertiesSetObject(), CustomPropertiesSetObjectId()
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", "sid", "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 methods: IDTokenClaimsBuildValueArray(), IDTokenClaimsCollectionToDisplay(), IDTokenClaimsCollectionToOdbc(), IDTokenClaimsDisplayToCollection(), IDTokenClaimsGet(), IDTokenClaimsGetObject(), IDTokenClaimsGetObjectId(), IDTokenClaimsGetStored(), IDTokenClaimsGetSwizzled(), IDTokenClaimsIsValid(), IDTokenClaimsOdbcToCollection(), IDTokenClaimsSet(), IDTokenClaimsSetObject(), IDTokenClaimsSetObjectId()
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 methods: IntrospectionClaimsBuildValueArray(), IntrospectionClaimsCollectionToDisplay(), IntrospectionClaimsCollectionToOdbc(), IntrospectionClaimsDisplayToCollection(), IntrospectionClaimsGet(), IntrospectionClaimsGetObject(), IntrospectionClaimsGetObjectId(), IntrospectionClaimsGetStored(), IntrospectionClaimsGetSwizzled(), IntrospectionClaimsIsValid(), IntrospectionClaimsOdbcToCollection(), IntrospectionClaimsSet(), IntrospectionClaimsSetObject(), IntrospectionClaimsSetObjectId()
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", "jti", and "scope" 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 methods: JWTClaimsBuildValueArray(), JWTClaimsCollectionToDisplay(), JWTClaimsCollectionToOdbc(), JWTClaimsDisplayToCollection(), JWTClaimsGet(), JWTClaimsGetObject(), JWTClaimsGetObjectId(), JWTClaimsGetStored(), JWTClaimsGetSwizzled(), JWTClaimsIsValid(), JWTClaimsOdbcToCollection(), JWTClaimsSet(), JWTClaimsSetObject(), JWTClaimsSetObjectId()
property JWTHeaderClaims as array of %OAuth2.Server.Claim;
JWTHeaderClaims specifies the claims to include in the JOSE Header for the JWT access token that is returned by the default JWT based access token class (%OAuth2.Server.JWT) beyond the set of headers required by the signature or encryption options in use. The key can be either the name of a claim that exists in the ClaimValues property, or "jku" or "jwk". If "jku" is specified, then the "jku" field will be defined in JOSE header, containing the value of the relevant JWKS URL. If "jwk" is specified, then the "jwk" field will be defined, containing the JWK for the relvant public key. In both cases, the field will only be defined in the header if signing or encryption is being used with an asymmetric algorithm. It is not valid to specify other JOSE header fields defined by RFC 7515.
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.
JWTHeaderClaims.GetAt() defines the claim.
Property methods: JWTHeaderClaimsBuildValueArray(), JWTHeaderClaimsCollectionToDisplay(), JWTHeaderClaimsCollectionToOdbc(), JWTHeaderClaimsDisplayToCollection(), JWTHeaderClaimsGet(), JWTHeaderClaimsGetObject(), JWTHeaderClaimsGetObjectId(), JWTHeaderClaimsGetStored(), JWTHeaderClaimsGetSwizzled(), JWTHeaderClaimsIsValid(), JWTHeaderClaimsOdbcToCollection(), JWTHeaderClaimsSet(), JWTHeaderClaimsSetObject(), JWTHeaderClaimsSetObjectId()
property RequestProperties as array of %String);
RequestProperties contains the query parameters from the authorization request.
RequestProperties.GetAt() is the value of the query parameter.
Property methods: RequestPropertiesBuildValueArray(), RequestPropertiesCollectionToDisplay(), RequestPropertiesCollectionToOdbc(), RequestPropertiesDisplayToCollection(), RequestPropertiesDisplayToLogical(), RequestPropertiesGet(), RequestPropertiesGetObject(), RequestPropertiesGetObjectId(), RequestPropertiesGetStored(), RequestPropertiesGetSwizzled(), RequestPropertiesIsValid(), RequestPropertiesLogicalToDisplay(), RequestPropertiesLogicalToOdbc(), RequestPropertiesNormalize(), RequestPropertiesOdbcToCollection(), RequestPropertiesSet(), RequestPropertiesSetObject(), RequestPropertiesSetObjectId()
property ResponseProperties as array of %String);
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 methods: ResponsePropertiesBuildValueArray(), ResponsePropertiesCollectionToDisplay(), ResponsePropertiesCollectionToOdbc(), ResponsePropertiesDisplayToCollection(), ResponsePropertiesDisplayToLogical(), ResponsePropertiesGet(), ResponsePropertiesGetObject(), ResponsePropertiesGetObjectId(), ResponsePropertiesGetStored(), ResponsePropertiesGetSwizzled(), ResponsePropertiesIsValid(), ResponsePropertiesLogicalToDisplay(), ResponsePropertiesLogicalToOdbc(), ResponsePropertiesNormalize(), ResponsePropertiesOdbcToCollection(), ResponsePropertiesSet(), ResponsePropertiesSetObject(), ResponsePropertiesSetObjectId()
property ServerProperties as array of %String);
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 methods: ServerPropertiesBuildValueArray(), ServerPropertiesCollectionToDisplay(), ServerPropertiesCollectionToOdbc(), ServerPropertiesDisplayToCollection(), ServerPropertiesDisplayToLogical(), ServerPropertiesGet(), ServerPropertiesGetObject(), ServerPropertiesGetObjectId(), ServerPropertiesGetStored(), ServerPropertiesGetSwizzled(), ServerPropertiesIsValid(), ServerPropertiesLogicalToDisplay(), ServerPropertiesLogicalToOdbc(), ServerPropertiesNormalize(), ServerPropertiesOdbcToCollection(), ServerPropertiesSet(), ServerPropertiesSetObject(), ServerPropertiesSetObjectId()
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.
Property methods: UserinfoClaimsBuildValueArray(), UserinfoClaimsCollectionToDisplay(), UserinfoClaimsCollectionToOdbc(), UserinfoClaimsDisplayToCollection(), UserinfoClaimsGet(), UserinfoClaimsGetObject(), UserinfoClaimsGetObjectId(), UserinfoClaimsGetStored(), UserinfoClaimsGetSwizzled(), UserinfoClaimsIsValid(), UserinfoClaimsOdbcToCollection(), UserinfoClaimsSet(), UserinfoClaimsSetObject(), UserinfoClaimsSetObjectId()

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.

Indexes

index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods

Storage

Storage Model: Storage (%OAuth2.Server.Properties)

^OAuth2.Server.PropertiesD(ID)
=
%%CLASSNAME
RequestProperties
ResponseProperties
CustomProperties
IDTokenClaims
UserinfoClaims
JWTClaims
ClaimValues
IntrospectionClaims
ServerProperties
JWTHeaderClaims
FeedbackOpens in a new tab