lpw
2021-04-20 b19a78b27247f5f0761c35b5b3e8a41876eabb05
commit | author | age
b19a78 1 // Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
L 2 //
3 // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4 // copy, modify, and distribute this software in source code or binary form for use
5 // in connection with the web services and APIs provided by Facebook.
6 //
7 // As with any software that integrates with the Facebook platform, your use of
8 // this software is subject to the Facebook Developer Principles and Policies
9 // [http://developers.facebook.com/policy/]. This copyright notice shall be
10 // included in all copies or substantial portions of the software.
11 //
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
19 #import <Foundation/Foundation.h>
20
21 NS_ASSUME_NONNULL_BEGIN
22
23 @interface FBSDKAuthenticationTokenClaims : NSObject
24
25 /// A unique identifier for the token.
26 @property (nonatomic, readonly, strong) NSString *jti;
27
28 /// Issuer Identifier for the Issuer of the response.
29 @property (nonatomic, readonly, strong) NSString *iss;
30
31 /// Audience(s) that this ID Token is intended for.
32 @property (nonatomic, readonly, strong) NSString *aud;
33
34 /// String value used to associate a Client session with an ID Token, and to mitigate replay attacks.
35 @property (nonatomic, readonly, strong) NSString *nonce;
36
37 /// Expiration time on or after which the ID Token MUST NOT be accepted for processing.
38 @property (nonatomic, readonly, assign) long exp;
39
40 /// Time at which the JWT was issued.
41 @property (nonatomic, readonly, assign) long iat;
42
43 /// Subject - Identifier for the End-User at the Issuer.
44 @property (nonatomic, readonly, strong) NSString *sub;
45
46 /// End-User's full name in displayable form including all name parts.
47 @property (nullable, nonatomic, readonly, strong) NSString *name;
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: We are building out this field in Limited Login with the intention to roll it out in early spring.
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 - (instancetype)init NS_UNAVAILABLE;
73 + (instancetype)new NS_UNAVAILABLE;
74
75 @end
76
77 NS_ASSUME_NONNULL_END