The FBSessionTokenCachingStrategy
class is responsible for persisting and retrieving cached data related to
an FBSession object, including the user's Facebook access token.
FBSessionTokenCachingStrategy
is designed to be instantiated directly or used as a base class. Usually default
token caching behavior is sufficient, and you do not need to interface directly with FBSessionTokenCachingStrategy
objects.
However, if you need to control where or how FBSession
information is cached, then you may take one of two approaches.
The first and simplest approach is to instantiate an instance of FBSessionTokenCachingStrategy
, and then pass
the instance to FBSession
class' init
method. This enables your application to control the key name used in
NSUserDefaults
to store session information. You may consider this approach if you plan to cache session information
for multiple users.
The second and more advanced approached is to derive a custom class from FBSessionTokenCachingStrategy
, which will
be responsible for caching behavior of your application. This approach is useful if you need to change where the
information is cached, for example if you prefer to use the filesystem or make a network connection to fetch and
persist cached tokens. Inheritors should override the cacheTokenInformation, fetchTokenInformation, and clearToken methods.
Doing this enables your application to implement any token caching scheme, including no caching at all.
Direct use of FBSessionTokenCachingStrategy
is an advanced technique. Most applications use FBSession objects without
passing an FBSessionTokenCachingStrategy
, which yields default caching to NSUserDefaults
.
Inherits from: | NSObject |
Declared in: | FBSessionTokenCachingStrategy.h |
defaultInstance
Helper function called by the SDK as well as apps, in order to fetch the default strategy instance.
+ (FBSessionTokenCachingStrategy*)
defaultInstance;
FBSessionTokenCachingStrategy.h
isValidTokenInformation:
Helper function called by the SDK as well as application code, used to determine whether a given dictionary contains the minimum token information usable by the FBSession.
Parameter | Description |
---|---|
tokenInformation | Dictionary containing token information to be validated |
+ (BOOL)
isValidTokenInformation:(NSDictionary*)tokenInformation;
FBSessionTokenCachingStrategy.h
cacheTokenInformation:
Called by FBSession (and overridden by inheritors), in order to cache token information.
Parameter | Description |
---|---|
tokenInformation | Dictionary containing token information to be cached by the method |
- (void)
cacheTokenInformation:(NSDictionary*)tokenInformation;
FBSessionTokenCachingStrategy.h
clearToken
Called by FBSession (and overridden by inheritors), in order delete any cached information for the current token
- (void)
clearToken;
FBSessionTokenCachingStrategy.h
fetchTokenInformation
Called by FBSession (and overridden by inheritors), in order to fetch cached token information
- (NSDictionary*)
fetchTokenInformation;
An overriding implementation should only return a token if it can also return an expiration date, otherwise return nil
FBSessionTokenCachingStrategy.h
init
Initializes and returns an instance
- (id)
init;
FBSessionTokenCachingStrategy.h
initWithUserDefaultTokenInformationKeyName:
Initializes and returns an instance
Parameter | Description |
---|---|
tokenInformationKeyName | Specifies a key name to use for cached token information in NSUserDefaults, nil indicates a default value of @"FBAccessTokenInformationKey" |
- (id)
initWithUserDefaultTokenInformationKeyName:(NSString*)tokenInformationKeyName;
FBSessionTokenCachingStrategy.h