Inherits from PFObject : NSObject
Conforms to PFSubclassing
Declared in PFUser.h

Overview

The PFUser class is a local representation of a user persisted to the Parse Data. This class is a subclass of a PFObject, and retains the same functionality of a PFObject, but also extends it with various user specific methods, like authentication, signing up, and validation uniqueness.

Many APIs responsible for linking a PFUser with Facebook or Twitter have been deprecated in favor of dedicated utilities for each social network. See PFFacebookUtils, PFTwitterUtils and PFAnonymousUtils for more information.

Properties

email

The email for the PFUser.

@property (nonatomic, strong) NSString *email

Declared In

PFUser.h

isNew

Whether the PFUser was just created from a request.

@property (assign, readonly) BOOL isNew

Discussion

This is only set after a Facebook or Twitter login.

Declared In

PFUser.h

password

The password for the PFUser.

@property (nonatomic, strong) NSString *password

Discussion

!

This will not be filled in from the server with the password. It is only meant to be set.

Declared In

PFUser.h

sessionToken

The session token for the PFUser.

@property (nonatomic, strong) NSString *sessionToken

Discussion

This is set by the server upon successful authentication.

Declared In

PFUser.h

username

The username for the PFUser.

@property (nonatomic, strong) NSString *username

Declared In

PFUser.h

Class Methods

become:

Makes a synchronous request to become a user with the given session token.

+ (instancetype)become:(NSString *)sessionToken

Parameters

sessionToken

The session token for the user.

Return Value

Returns an instance of the PFUser on success. If becoming a user fails due to incorrect token, it returns nil.

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

become:error:

Makes a synchronous request to become a user with the given session token.

+ (instancetype)become:(NSString *)sessionToken error:(NSError **)error

Parameters

sessionToken

The session token for the user.

error

The error object to set on error.

Return Value

Returns an instance of the PFUser on success. If becoming a user fails due to incorrect token, it returns nil.

Discussion

Returns an instance of the successfully logged in PFUser. This will also cache the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

becomeInBackground:

Makes an asynchronous request to become a user with the given session token.

+ (BFTask *)becomeInBackground:(NSString *)sessionToken

Parameters

sessionToken

The session token for the user.

Return Value

The task, that encapsulates the work being done.

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

becomeInBackground:block:

Makes an asynchronous request to become a user with the given session token.

+ (void)becomeInBackground:(NSString *)sessionToken block:(PFUserResultBlock)block

Parameters

sessionToken

The session token for the user.

block

The block to execute. The block should have the following argument signature: (PFUser user, NSError error)

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

becomeInBackground:target:selector:

Makes an asynchronous request to become a user with the given session token.

+ (void)becomeInBackground:(NSString *)sessionToken target:(id)target selector:(SEL)selector

Parameters

sessionToken

The session token for the user.

target

Target object for the selector.

selector

The selector that will be called when the asynchrounous request is complete. It should have the following signature: (void)callbackWithUser:(PFUser *)user error:(NSError *)error.

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

currentUser

Gets the currently logged in user from disk and returns an instance of it.

+ (instancetype)currentUser

Return Value

Returns a PFUser that is the currently logged in user. If there is none, returns nil.

Declared In

PFUser.h

enableAutomaticUser

Enables automatic creation of anonymous users.

+ (void)enableAutomaticUser

Discussion

After calling this method, currentUser will always have a value. The user will only be created on the server once the user has been saved, or once an object with a relation to that user or an ACL that refers to the user has been saved.

Warning: [PFObject saveEventually] will not work on if an item being saved has a relation to an automatic user that has never been saved.

Declared In

PFUser.h

logInWithUsername:password:

Makes a synchronous request to login a user with specified credentials.

+ (instancetype)logInWithUsername:(NSString *)username password:(NSString *)password

Parameters

username

The username of the user.

password

The password of the user.

Return Value

Returns an instance of the PFUser on success. If login failed for either wrong password or wrong username, returns nil.

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

logInWithUsername:password:error:

Makes a synchronous request to login a user with specified credentials.

+ (instancetype)logInWithUsername:(NSString *)username password:(NSString *)password error:(NSError **)error

Parameters

username

The username of the user.

password

The password of the user.

error

The error object to set on error.

Return Value

Returns an instance of the PFUser on success. If login failed for either wrong password or wrong username, returns nil.

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

logInWithUsernameInBackground:password:

Makes an asynchronous request to login a user with specified credentials.

+ (BFTask *)logInWithUsernameInBackground:(NSString *)username password:(NSString *)password

Parameters

username

The username of the user.

password

The password of the user.

Return Value

The task, that encapsulates the work being done.

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

logInWithUsernameInBackground:password:block:

Makes an asynchronous request to log in a user with specified credentials.

+ (void)logInWithUsernameInBackground:(NSString *)username password:(NSString *)password block:(PFUserResultBlock)block

Parameters

username

The username of the user.

password

The password of the user.

block

The block to execute. It should have the following argument signature: ^(PFUser *user, NSError *error).

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

logInWithUsernameInBackground:password:target:selector:

Makes an asynchronous request to login a user with specified credentials.

+ (void)logInWithUsernameInBackground:(NSString *)username password:(NSString *)password target:(id)target selector:(SEL)selector

Parameters

username

The username of the user.

password

The password of the user.

target

Target object for the selector.

selector

The selector that will be called when the asynchrounous request is complete. It should have the following signature: (void)callbackWithUser:(PFUser *)user error:(NSError *)error.

Discussion

Returns an instance of the successfully logged in PFUser. This also caches the user locally so that calls to currentUser will use the latest logged in user.

Declared In

PFUser.h

logOut

Synchronously logs out the currently logged in user on disk.

+ (void)logOut

Declared In

PFUser.h

parseClassName

The name of the PFUser class in the REST API.

+ (NSString *)parseClassName

Discussion

This is a required PFSubclassing method.

Declared In

PFUser.h

query

Creates a PFQuery for PFUser objects.

+ (PFQuery *)query

Declared In

PFUser.h

requestPasswordResetForEmail:

Synchronously Send a password reset request for a specified email.

+ (BOOL)requestPasswordResetForEmail:(NSString *)email

Parameters

email

Email of the account to send a reset password request.

Return Value

Returns YES if the reset email request is successful. NO - if no account was found for the email address.

Discussion

If a user account exists with that email, an email will be sent to that address with instructions on how to reset their password.

Declared In

PFUser.h

requestPasswordResetForEmail:error:

Synchronously send a password reset request for a specified email and sets an error object.

+ (BOOL)requestPasswordResetForEmail:(NSString *)email error:(NSError **)error

Parameters

email

Email of the account to send a reset password request.

error

Error object to set on error.

Return Value

Returns YES if the reset email request is successful. NO - if no account was found for the email address.

Discussion

If a user account exists with that email, an email will be sent to that address with instructions on how to reset their password.

Declared In

PFUser.h

requestPasswordResetForEmailInBackground:

Send a password reset request asynchronously for a specified email and sets an error object. If a user account exists with that email, an email will be sent to that address with instructions on how to reset their password.

+ (BFTask *)requestPasswordResetForEmailInBackground:(NSString *)email

Parameters

email

Email of the account to send a reset password request.

Return Value

The task, that encapsulates the work being done.

Declared In

PFUser.h

requestPasswordResetForEmailInBackground:block:

Send a password reset request asynchronously for a specified email.

+ (void)requestPasswordResetForEmailInBackground:(NSString *)email block:(PFBooleanResultBlock)block

Parameters

email

Email of the account to send a reset password request.

block

The block to execute. It should have the following argument signature: ^(BOOL succeeded, NSError *error).

Discussion

If a user account exists with that email, an email will be sent to that address with instructions on how to reset their password.

Declared In

PFUser.h

requestPasswordResetForEmailInBackground:target:selector:

Send a password reset request asynchronously for a specified email and sets an error object.

+ (void)requestPasswordResetForEmailInBackground:(NSString *)email target:(id)target selector:(SEL)selector

Parameters

email

Email of the account to send a reset password request.

target

Target object for the selector.

selector

The selector that will be called when the asynchronous request is complete. It should have the following signature: (void)callbackWithResult:(NSNumber *)result error:(NSError *)error. error will be nil on success and set if there was an error. [result boolValue] will tell you whether the call succeeded or not.

Discussion

If a user account exists with that email, an email will be sent to that address with instructions on how to reset their password.

Declared In

PFUser.h

user

Creates a new PFUser object.

+ (PFUser *)user

Return Value

Returns a new PFUser object.

Declared In

PFUser.h

Instance Methods

isAuthenticated

Whether the user is an authenticated object for the device.

- (BOOL)isAuthenticated

Return Value

Returns whether the user is authenticated.

Discussion

An authenticated PFUser is one that is obtained via a signUp or method. An authenticated object is required in order to save (with altered values) or delete it.

Declared In

PFUser.h

signUp

Signs up the user synchronously.

- (BOOL)signUp

Return Value

Returns YES if the sign up was successful, otherwise NO.

Discussion

This will also enforce that the username isn’t already taken.

Warning: Make sure that password and username are set before calling this method.

Declared In

PFUser.h

signUp:

Signs up the user synchronously.

- (BOOL)signUp:(NSError **)error

Parameters

error

Error object to set on error.

Return Value

Returns whether the sign up was successful.

Discussion

This will also enforce that the username isn’t already taken.

Warning: Make sure that password and username are set before calling this method.

Declared In

PFUser.h

signUpInBackground

Signs up the user asynchronously.

- (BFTask *)signUpInBackground

Return Value

The task, that encapsulates the work being done.

Discussion

This will also enforce that the username isn’t already taken.

Warning: Make sure that password and username are set before calling this method.

Declared In

PFUser.h

signUpInBackgroundWithBlock:

Signs up the user asynchronously.

- (void)signUpInBackgroundWithBlock:(PFBooleanResultBlock)block

Parameters

block

The block to execute. It should have the following argument signature: ^(BOOL succeeded, NSError *error).

Discussion

This will also enforce that the username isn’t already taken.

Warning: Make sure that password and username are set before calling this method.

Declared In

PFUser.h

signUpInBackgroundWithTarget:selector:

Signs up the user asynchronously.

- (void)signUpInBackgroundWithTarget:(id)target selector:(SEL)selector

Parameters

target

Target object for the selector.

selector

The selector that will be called when the asynchrounous request is complete. It should have the following signature: (void)callbackWithResult:(NSNumber *)result error:(NSError *)error. error will be nil on success and set if there was an error. [result boolValue] will tell you whether the call succeeded or not.

Discussion

This will also enforce that the username isn’t already taken.

Warning: Make sure that password and username are set before calling this method.

Declared In

PFUser.h