lpw
2022-02-15 2e29a3a585524a054640bb6e7bdf26fe77ba1f17
commit | author | age
2e29a3 1 /*
L 2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  * All rights reserved.
4  *
5  * This source code is licensed under the license found in the
6  * LICENSE file in the root directory of this source tree.
7  */
8
9 #import <Foundation/Foundation.h>
10
11 NS_ASSUME_NONNULL_BEGIN
12
13 NS_SWIFT_NAME(AuthenticationTokenClaims)
14 @interface FBSDKAuthenticationTokenClaims : NSObject
15
16 /// A unique identifier for the token.
17 @property (nonatomic, readonly, strong) NSString *jti;
18
19 /// Issuer Identifier for the Issuer of the response.
20 @property (nonatomic, readonly, strong) NSString *iss;
21
22 /// Audience(s) that this ID Token is intended for.
23 @property (nonatomic, readonly, strong) NSString *aud;
24
25 /// String value used to associate a Client session with an ID Token, and to mitigate replay attacks.
26 @property (nonatomic, readonly, strong) NSString *nonce;
27
28 /// Expiration time on or after which the ID Token MUST NOT be accepted for processing.
29 @property (nonatomic, readonly, assign) NSTimeInterval exp;
30
31 /// Time at which the JWT was issued.
32 @property (nonatomic, readonly, assign) NSTimeInterval iat;
33
34 /// Subject - Identifier for the End-User at the Issuer.
35 @property (nonatomic, readonly, strong) NSString *sub;
36
37 /// End-User's full name in displayable form including all name parts.
38 @property (nullable, nonatomic, readonly, strong) NSString *name;
39
40 /// End-User's given name in displayable form
41 @property (nullable, nonatomic, readonly, strong) NSString *givenName;
42
43 /// End-User's middle name in displayable form
44 @property (nullable, nonatomic, readonly, strong) NSString *middleName;
45
46 /// End-User's family name in displayable form
47 @property (nullable, nonatomic, readonly, strong) NSString *familyName;
48
49 /**
50  End-User's preferred e-mail address.
51
52  IMPORTANT: This field will only be populated if your user has granted your application the 'email' permission.
53  */
54 @property (nullable, nonatomic, readonly, strong) NSString *email;
55
56 /// URL of the End-User's profile picture.
57 @property (nullable, nonatomic, readonly, strong) NSString *picture;
58
59 /**
60  End-User's friends.
61
62  IMPORTANT: This field will only be populated if your user has granted your application the 'user_friends' permission.
63  */
64 @property (nullable, nonatomic, readonly, strong) NSArray<NSString *> *userFriends;
65
66 /// End-User's birthday
67 @property (nullable, nonatomic, readonly, strong) NSString *userBirthday;
68
69 /// End-User's age range
70 @property (nullable, nonatomic, readonly, strong) NSDictionary<NSString *, NSNumber *> *userAgeRange;
71
72 /// End-User's hometown
73 @property (nullable, nonatomic, readonly, strong) NSDictionary<NSString *, NSString *> *userHometown;
74
75 /// End-User's location
76 @property (nullable, nonatomic, readonly, strong) NSDictionary<NSString *, NSString *> *userLocation;
77
78 /// End-User's gender
79 @property (nullable, nonatomic, readonly, strong) NSString *userGender;
80
81 /// End-User's link
82 @property (nullable, nonatomic, readonly, strong) NSString *userLink;
83
84 - (instancetype)init NS_UNAVAILABLE;
85 + (instancetype)new NS_UNAVAILABLE;
86
87 @end
88
89 NS_ASSUME_NONNULL_END