| | |
| | | |
| | | #import <Foundation/Foundation.h> |
| | | |
| | | #import <FBSDKCoreKit/FBSDKAccessTokenProviding.h> |
| | | #import <FBSDKCoreKit/FBSDKTokenStringProviding.h> |
| | | #import <FBSDKCoreKit/FBSDKGraphRequestConnection.h> |
| | | #import <FBSDKCoreKit/FBSDKTokenCaching.h> |
| | | |
| | | @protocol FBSDKGraphRequestConnectionFactory; |
| | | @protocol FBSDKGraphRequestPiggybackManaging; |
| | | @protocol FBSDKErrorCreating; |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | /** |
| | | Notification indicating that the `currentAccessToken` has changed. |
| | | Notification indicating that the `currentAccessToken` has changed. |
| | | |
| | | the userInfo dictionary of the notification will contain keys |
| | | `FBSDKAccessTokenChangeOldKey` and |
| | |
| | | NS_SWIFT_NAME(AccessTokenDidChange); |
| | | |
| | | /** |
| | | A key in the notification's userInfo that will be set |
| | | if and only if the user ID changed between the old and new tokens. |
| | | A key in the notification's userInfo that will be set |
| | | if and only if the user ID changed between the old and new tokens. |
| | | |
| | | Token refreshes can occur automatically with the SDK |
| | | which do not change the user. If you're only interested in user |
| | | changes (such as logging out), you should check for the existence |
| | | of this key. The value is a NSNumber with a boolValue. |
| | | which do not change the user. If you're only interested in user |
| | | changes (such as logging out), you should check for the existence |
| | | of this key. The value is a NSNumber with a boolValue. |
| | | |
| | | On a fresh start of the app where the SDK reads in the cached value |
| | | of an access token, this key will also exist since the access token |
| | | is moving from a null state (no user) to a non-null state (user). |
| | | On a fresh start of the app where the SDK reads in the cached value |
| | | of an access token, this key will also exist since the access token |
| | | is moving from a null state (no user) to a non-null state (user). |
| | | */ |
| | | FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeUserIDKey |
| | | NS_SWIFT_NAME(AccessTokenDidChangeUserIDKey); |
| | |
| | | FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidExpireKey |
| | | NS_SWIFT_NAME(AccessTokenDidExpireKey); |
| | | |
| | | /** |
| | | Represents an immutable access token for using Facebook services. |
| | | */ |
| | | /// Represents an immutable access token for using Facebook services. |
| | | NS_SWIFT_NAME(AccessToken) |
| | | @interface FBSDKAccessToken : NSObject <NSCopying, NSObject, NSSecureCoding> |
| | | @interface FBSDKAccessToken : NSObject <NSCopying, NSObject, NSSecureCoding, FBSDKAccessTokenProviding, FBSDKTokenStringProviding> |
| | | |
| | | /** |
| | | The "global" access token that represents the currently logged in user. |
| | | The "global" access token that represents the currently logged in user. |
| | | |
| | | The `currentAccessToken` is a convenient representation of the token of the |
| | | current user and is used by other SDK components (like `FBSDKLoginManager`). |
| | | */ |
| | | @property (class, nullable, nonatomic, copy) FBSDKAccessToken *currentAccessToken; |
| | | @property (class, nullable, nonatomic, copy) FBSDKAccessToken *currentAccessToken NS_SWIFT_NAME(current); |
| | | |
| | | /** |
| | | Returns YES if currentAccessToken is not nil AND currentAccessToken is not expired |
| | | |
| | | */ |
| | | /// Returns YES if currentAccessToken is not nil AND currentAccessToken is not expired |
| | | @property (class, nonatomic, readonly, getter = isCurrentAccessTokenActive, assign) BOOL currentAccessTokenIsActive; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @property (class, nullable, nonatomic, copy) id<FBSDKTokenCaching> tokenCache; |
| | | |
| | | /** |
| | | Returns the app ID. |
| | | */ |
| | | /// Returns the app ID. |
| | | @property (nonatomic, readonly, copy) NSString *appID; |
| | | |
| | | /** |
| | | Returns the expiration date for data access |
| | | */ |
| | | /// Returns the expiration date for data access |
| | | @property (nonatomic, readonly, copy) NSDate *dataAccessExpirationDate; |
| | | |
| | | /** |
| | | Returns the known declined permissions. |
| | | */ |
| | | /// Returns the known declined permissions. |
| | | @property (nonatomic, readonly, copy) NSSet<NSString *> *declinedPermissions |
| | | NS_REFINED_FOR_SWIFT; |
| | | |
| | | /** |
| | | Returns the known declined permissions. |
| | | */ |
| | | /// Returns the known declined permissions. |
| | | @property (nonatomic, readonly, copy) NSSet<NSString *> *expiredPermissions |
| | | NS_REFINED_FOR_SWIFT; |
| | | |
| | | /** |
| | | Returns the expiration date. |
| | | */ |
| | | /// Returns the expiration date. |
| | | @property (nonatomic, readonly, copy) NSDate *expirationDate; |
| | | |
| | | /** |
| | | Returns the known granted permissions. |
| | | */ |
| | | /// Returns the known granted permissions. |
| | | @property (nonatomic, readonly, copy) NSSet<NSString *> *permissions |
| | | NS_REFINED_FOR_SWIFT; |
| | | |
| | | /** |
| | | Returns the date the token was last refreshed. |
| | | */ |
| | | /// Returns the date the token was last refreshed. |
| | | @property (nonatomic, readonly, copy) NSDate *refreshDate; |
| | | |
| | | /** |
| | | Returns the opaque token string. |
| | | */ |
| | | /// Returns the opaque token string. |
| | | @property (nonatomic, readonly, copy) NSString *tokenString; |
| | | |
| | | /** |
| | | Returns the user ID. |
| | | */ |
| | | /// Returns the user ID. |
| | | @property (nonatomic, readonly, copy) NSString *userID; |
| | | |
| | | /** |
| | | Returns whether the access token is expired by checking its expirationDate property |
| | | */ |
| | | /// Returns whether the access token is expired by checking its expirationDate property |
| | | @property (nonatomic, readonly, getter = isExpired, assign) BOOL expired; |
| | | |
| | | /** |
| | | Returns whether user data access is still active for the given access token |
| | | */ |
| | | /// Returns whether user data access is still active for the given access token |
| | | @property (nonatomic, readonly, getter = isDataAccessExpired, assign) BOOL dataAccessExpired; |
| | | |
| | | - (instancetype)init NS_UNAVAILABLE; |
| | |
| | | NS_DESIGNATED_INITIALIZER; |
| | | |
| | | /** |
| | | Convenience getter to determine if a permission has been granted |
| | | Convenience getter to determine if a permission has been granted |
| | | @param permission The permission to check. |
| | | */ |
| | | // UNCRUSTIFY_FORMAT_OFF |
| | |
| | | // UNCRUSTIFY_FORMAT_ON |
| | | |
| | | /** |
| | | Compares the receiver to another FBSDKAccessToken |
| | | Compares the receiver to another FBSDKAccessToken |
| | | @param token The other token |
| | | @return YES if the receiver's values are equal to the other token's values; otherwise NO |
| | | */ |
| | | - (BOOL)isEqualToAccessToken:(FBSDKAccessToken *)token; |
| | | |
| | | /** |
| | | Refresh the current access token's permission state and extend the token's expiration date, |
| | | Refresh the current access token's permission state and extend the token's expiration date, |
| | | if possible. |
| | | @param completion an optional callback handler that can surface any errors related to permission refreshing. |
| | | |
| | |
| | | */ |
| | | + (void)refreshCurrentAccessTokenWithCompletion:(nullable FBSDKGraphRequestCompletion)completion; |
| | | |
| | | /** |
| | | Internal method exposed to facilitate transition to Swift. |
| | | API Subject to change or removal without warning. Do not use. |
| | | |
| | | @warning INTERNAL - DO NOT USE |
| | | */ |
| | | + (void)configureWithTokenCache:(id<FBSDKTokenCaching>)tokenCache |
| | | graphRequestConnectionFactory:(id<FBSDKGraphRequestConnectionFactory>)graphRequestConnectionFactory |
| | | graphRequestPiggybackManager:(id<FBSDKGraphRequestPiggybackManaging>)graphRequestPiggybackManager |
| | | errorFactory:(id<FBSDKErrorCreating>)errorFactory |
| | | NS_SWIFT_NAME(configure(tokenCache:graphRequestConnectionFactory:graphRequestPiggybackManager:errorFactory:)); |
| | | |
| | | |
| | | @end |
| | | |
| | | NS_ASSUME_NONNULL_END |