AppAuth
OIDServiceDiscovery.h
Go to the documentation of this file.
1 
19 #import <Foundation/Foundation.h>
20 
21 NS_ASSUME_NONNULL_BEGIN
22 
26 @interface OIDServiceDiscovery : NSObject <NSCopying, NSSecureCoding>
27 
30 @property(nonatomic, readonly) NSDictionary<NSString *, id> *discoveryDictionary;
31 
39 @property(nonatomic, readonly) NSURL *issuer;
40 
45 @property(nonatomic, readonly) NSURL *authorizationEndpoint;
46 
52 @property(nonatomic, readonly) NSURL *tokenEndpoint;
53 
59 @property(nonatomic, readonly, nullable) NSURL *userinfoEndpoint;
60 
73 @property(nonatomic, readonly) NSURL *jwksURL;
74 
79 @property(nonatomic, readonly, nullable) NSURL *registrationEndpoint;
80 
81 /* @brief OPTIONAL. URL of the OP's RP-Initiated Logout endpoint.
82  @remarks end_session_endpoint
83  @seealso http://openid.net/specs/openid-connect-session-1_0.html#OPMetadata
84  */
85 @property(nonatomic, readonly, nullable) NSURL *endSessionEndpoint;
86 
94 @property(nonatomic, readonly, nullable) NSArray<NSString *> *scopesSupported;
95 
101 @property(nonatomic, readonly) NSArray<NSString *> *responseTypesSupported;
102 
109 @property(nonatomic, readonly, nullable) NSArray<NSString *> *responseModesSupported;
110 
117 @property(nonatomic, readonly, nullable) NSArray<NSString *> *grantTypesSupported;
118 
123 @property(nonatomic, readonly, nullable) NSArray<NSString *> *acrValuesSupported;
124 
129 @property(nonatomic, readonly) NSArray<NSString *> *subjectTypesSupported;
130 
139 @property(nonatomic, readonly) NSArray<NSString *> *IDTokenSigningAlgorithmValuesSupported;
140 
146 @property(nonatomic, readonly, nullable)
148 
154 @property(nonatomic, readonly, nullable)
156 
165 @property(nonatomic, readonly, nullable)
167 
175 @property(nonatomic, readonly, nullable)
177 
183 @property(nonatomic, readonly, nullable)
185 
194 @property(nonatomic, readonly, nullable)
196 
202 @property(nonatomic, readonly, nullable)
204 
210 @property(nonatomic, readonly, nullable)
212 
223 @property(nonatomic, readonly, nullable) NSArray<NSString *> *tokenEndpointAuthMethodsSupported;
224 
232 @property(nonatomic, readonly, nullable)
234 
240 @property(nonatomic, readonly, nullable) NSArray<NSString *> *displayValuesSupported;
241 
249 @property(nonatomic, readonly, nullable) NSArray<NSString *> *claimTypesSupported;
250 
256 @property(nonatomic, readonly, nullable) NSArray<NSString *> *claimsSupported;
257 
264 @property(nonatomic, readonly, nullable) NSURL *serviceDocumentation;
265 
272 @property(nonatomic, readonly, nullable) NSArray<NSString *> *claimsLocalesSupported;
273 
279 @property(nonatomic, readonly, nullable) NSArray<NSString *> *UILocalesSupported;
280 
285 @property(nonatomic, readonly) BOOL claimsParameterSupported;
286 
291 @property(nonatomic, readonly) BOOL requestParameterSupported;
292 
297 @property(nonatomic, readonly) BOOL requestURIParameterSupported;
298 
304 @property(nonatomic, readonly) BOOL requireRequestURIRegistration;
305 
312 @property(nonatomic, readonly, nullable) NSURL *OPPolicyURI;
313 
319 @property(nonatomic, readonly, nullable) NSURL *OPTosURI;
320 
325 - (nonnull instancetype)init NS_UNAVAILABLE;
326 
333 - (nullable instancetype)initWithJSON:(NSString *)serviceDiscoveryJSON
334  error:(NSError **_Nullable)error;
335 
342 - (nullable instancetype)initWithJSONData:(NSData *)serviceDiscoveryJSONData
343  error:(NSError **_Nullable)error;
344 
353 - (nullable instancetype)initWithDictionary:(NSDictionary *)serviceDiscoveryDictionary
354  error:(NSError **_Nullable)error NS_DESIGNATED_INITIALIZER;
355 
356 @end
357 
358 NS_ASSUME_NONNULL_END
OIDServiceDiscovery::responseModesSupported
NSArray< NSString * > * responseModesSupported
OPTIONAL. JSON array containing a list of the OAuth 2.0 response_mode values that this OP supports,...
Definition: OIDServiceDiscovery.h:109
OIDServiceDiscovery::serviceDocumentation
NSURL * serviceDocumentation
OPTIONAL. URL of a page containing human-readable information that developers might want or need to k...
Definition: OIDServiceDiscovery.h:264
OIDServiceDiscovery::OPPolicyURI
NSURL * OPPolicyURI
OPTIONAL. URL that the OpenID Provider provides to the person registering the Client to read about th...
Definition: OIDServiceDiscovery.h:312
OIDServiceDiscovery::grantTypesSupported
NSArray< NSString * > * grantTypesSupported
OPTIONAL. JSON array containing a list of the OAuth 2.0 Grant Type values that this OP supports....
Definition: OIDServiceDiscovery.h:117
OIDServiceDiscovery::discoveryDictionary
NSDictionary< NSString *, id > * discoveryDictionary
The decoded OpenID Connect 1.0 Discovery Document as a dictionary.
Definition: OIDServiceDiscovery.h:30
OIDServiceDiscovery::authorizationEndpoint
NSURL * authorizationEndpoint
REQUIRED. URL of the OP's OAuth 2.0 Authorization Endpoint.
Definition: OIDServiceDiscovery.h:45
OIDServiceDiscovery::claimsSupported
NSArray< NSString * > * claimsSupported
RECOMMENDED. JSON array containing a list of the Claim Names of the Claims that the OpenID Provider M...
Definition: OIDServiceDiscovery.h:256
OIDServiceDiscovery::userinfoSigningAlgorithmValuesSupported
NSArray< NSString * > * userinfoSigningAlgorithmValuesSupported
OPTIONAL. JSON array containing a list of the JWS signing algorithms (alg values) supported by the Us...
Definition: OIDServiceDiscovery.h:166
OIDServiceDiscovery::userinfoEndpoint
NSURL * userinfoEndpoint
RECOMMENDED. URL of the OP's UserInfo Endpoint. This URL MUST use the https scheme and MAY contain po...
Definition: OIDServiceDiscovery.h:59
OIDServiceDiscovery::UILocalesSupported
NSArray< NSString * > * UILocalesSupported
OPTIONAL. Languages and scripts supported for the user interface, represented as a JSON array of BCP4...
Definition: OIDServiceDiscovery.h:279
OIDServiceDiscovery::requestURIParameterSupported
BOOL requestURIParameterSupported
OPTIONAL. Boolean value specifying whether the OP supports use of the request_uri parameter,...
Definition: OIDServiceDiscovery.h:297
OIDServiceDiscovery::responseTypesSupported
NSArray< NSString * > * responseTypesSupported
REQUIRED. JSON array containing a list of the OAuth 2.0 response_type values that this OP supports....
Definition: OIDServiceDiscovery.h:101
OIDServiceDiscovery::IDTokenEncryptionEncodingValuesSupported
NSArray< NSString * > * IDTokenEncryptionEncodingValuesSupported
OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the...
Definition: OIDServiceDiscovery.h:155
OIDServiceDiscovery::requestObjectSigningAlgorithmValuesSupported
NSArray< NSString * > * requestObjectSigningAlgorithmValuesSupported
OPTIONAL. JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP...
Definition: OIDServiceDiscovery.h:195
OIDServiceDiscovery::requireRequestURIRegistration
BOOL requireRequestURIRegistration
OPTIONAL. Boolean value specifying whether the OP requires any request_uri values used to be pre-regi...
Definition: OIDServiceDiscovery.h:304
OIDServiceDiscovery::claimsParameterSupported
BOOL claimsParameterSupported
OPTIONAL. Boolean value specifying whether the OP supports use of the claims parameter,...
Definition: OIDServiceDiscovery.h:285
OIDServiceDiscovery::acrValuesSupported
NSArray< NSString * > * acrValuesSupported
OPTIONAL. JSON array containing a list of the Authentication Context Class References that this OP su...
Definition: OIDServiceDiscovery.h:123
OIDServiceDiscovery::IDTokenSigningAlgorithmValuesSupported
NSArray< NSString * > * IDTokenSigningAlgorithmValuesSupported
REQUIRED. JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP...
Definition: OIDServiceDiscovery.h:139
OIDServiceDiscovery::displayValuesSupported
NSArray< NSString * > * displayValuesSupported
OPTIONAL. JSON array containing a list of the display parameter values that the OpenID Provider suppo...
Definition: OIDServiceDiscovery.h:240
OIDServiceDiscovery::jwksURL
NSURL * jwksURL
REQUIRED. URL of the OP's JSON Web Key Set document. This contains the signing key(s) the RP uses to ...
Definition: OIDServiceDiscovery.h:73
OIDServiceDiscovery::IDTokenEncryptionAlgorithmValuesSupported
NSArray< NSString * > * IDTokenEncryptionAlgorithmValuesSupported
OPTIONAL. JSON array containing a list of the JWE encryption algorithms (alg values) supported by the...
Definition: OIDServiceDiscovery.h:147
OIDServiceDiscovery::requestObjectEncryptionEncodingValuesSupported
NSArray< NSString * > * requestObjectEncryptionEncodingValuesSupported
OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the...
Definition: OIDServiceDiscovery.h:211
OIDServiceDiscovery::tokenEndpointAuthSigningAlgorithmValuesSupported
NSArray< NSString * > * tokenEndpointAuthSigningAlgorithmValuesSupported
OPTIONAL. JSON array containing a list of the JWS signing algorithms (alg values) supported by the To...
Definition: OIDServiceDiscovery.h:233
OIDServiceDiscovery::registrationEndpoint
NSURL * registrationEndpoint
RECOMMENDED. URL of the OP's Dynamic Client Registration Endpoint.
Definition: OIDServiceDiscovery.h:79
OIDServiceDiscovery::requestParameterSupported
BOOL requestParameterSupported
OPTIONAL. Boolean value specifying whether the OP supports use of the request parameter,...
Definition: OIDServiceDiscovery.h:291
OIDServiceDiscovery::subjectTypesSupported
NSArray< NSString * > * subjectTypesSupported
REQUIRED. JSON array containing a list of the Subject Identifier types that this OP supports....
Definition: OIDServiceDiscovery.h:129
OIDServiceDiscovery::requestObjectEncryptionAlgorithmValuesSupported
NSArray< NSString * > * requestObjectEncryptionAlgorithmValuesSupported
OPTIONAL. JSON array containing a list of the JWE encryption algorithms (alg values) supported by the...
Definition: OIDServiceDiscovery.h:203
OIDServiceDiscovery::OPTosURI
NSURL * OPTosURI
OPTIONAL. URL that the OpenID Provider provides to the person registering the Client to read about Op...
Definition: OIDServiceDiscovery.h:319
OIDServiceDiscovery::issuer
NSURL * issuer
REQUIRED. URL using the https scheme with no query or fragment component that the OP asserts as its I...
Definition: OIDServiceDiscovery.h:39
OIDServiceDiscovery::claimTypesSupported
NSArray< NSString * > * claimTypesSupported
OPTIONAL. JSON array containing a list of the Claim Types that the OpenID Provider supports....
Definition: OIDServiceDiscovery.h:249
OIDServiceDiscovery::scopesSupported
NSArray< NSString * > * scopesSupported
RECOMMENDED. JSON array containing a list of the OAuth 2.0 [RFC6749] scope values that this server su...
Definition: OIDServiceDiscovery.h:94
OIDServiceDiscovery::tokenEndpointAuthMethodsSupported
NSArray< NSString * > * tokenEndpointAuthMethodsSupported
OPTIONAL. JSON array containing a list of Client Authentication methods supported by this Token Endpo...
Definition: OIDServiceDiscovery.h:223
OIDServiceDiscovery::userinfoEncryptionEncodingValuesSupported
NSArray< NSString * > * userinfoEncryptionEncodingValuesSupported
OPTIONAL. JSON array containing a list of the JWE encryption algorithms (enc values) supported by the...
Definition: OIDServiceDiscovery.h:184
OIDServiceDiscovery::userinfoEncryptionAlgorithmValuesSupported
NSArray< NSString * > * userinfoEncryptionAlgorithmValuesSupported
OPTIONAL. JSON array containing a list of the JWE encryption algorithms (alg values) supported by the...
Definition: OIDServiceDiscovery.h:176
OIDServiceDiscovery
Represents an OpenID Connect 1.0 Discovery Document.
Definition: OIDServiceDiscovery.h:26
OIDServiceDiscovery::tokenEndpoint
NSURL * tokenEndpoint
URL of the OP's OAuth 2.0 Token Endpoint. This is REQUIRED unless only the Implicit Flow is used.
Definition: OIDServiceDiscovery.h:52
OIDServiceDiscovery::claimsLocalesSupported
NSArray< NSString * > * claimsLocalesSupported
OPTIONAL. Languages and scripts supported for values in Claims being returned, represented as a JSON ...
Definition: OIDServiceDiscovery.h:272