| /* |
| * GIDAuthentication.h |
| * Google Sign-In iOS SDK |
| * |
| * Copyright 2014 Google Inc. |
| * |
| * Use of this SDK is subject to the Google APIs Terms of Service: |
| * https://developers.google.com/terms/ |
| */ |
| |
| #import <Foundation/Foundation.h> |
| |
| @protocol GTMFetcherAuthorizationProtocol; |
| @class GIDAuthentication; |
| |
| // @relates GIDAuthentication |
| // |
| // The callback block that takes a GIDAuthentication, or an error if attempt to refresh was |
| // unsuccessful. |
| typedef void (^GIDAuthenticationHandler)(GIDAuthentication *authentication, NSError *error); |
| |
| // @relates GIDAuthentication |
| // |
| // The callback block that takes an access token, or an error if attempt to refresh was |
| // unsuccessful. |
| typedef void (^GIDAccessTokenHandler)(NSString *accessToken, NSError *error); |
| |
| // This class represents the OAuth 2.0 entities needed for sign-in. |
| @interface GIDAuthentication : NSObject <NSCoding> |
| |
| // The client ID associated with the authentication. |
| @property(nonatomic, readonly) NSString *clientID; |
| |
| // The OAuth2 access token to access Google services. |
| @property(nonatomic, readonly) NSString *accessToken; |
| |
| // The estimated expiration date of the access token. |
| @property(nonatomic, readonly) NSDate *accessTokenExpirationDate; |
| |
| // The OAuth2 refresh token to exchange for new access tokens. |
| @property(nonatomic, readonly) NSString *refreshToken; |
| |
| // An OpenID Connect ID token that identifies the user. Send this token to your server to |
| // authenticate the user there. For more information on this topic, see |
| // https://developers.google.com/identity/sign-in/ios/backend-auth |
| @property(nonatomic, readonly) NSString *idToken; |
| |
| // The estimated expiration date of the ID token. |
| @property(nonatomic, readonly) NSDate *idTokenExpirationDate; |
| |
| // Gets a new authorizer for GTLService, GTMSessionFetcher, or GTMHTTPFetcher. |
| - (id<GTMFetcherAuthorizationProtocol>)fetcherAuthorizer; |
| |
| // Get a valid access token and a valid ID token, refreshing them first if they have expired or are |
| // about to expire. |
| - (void)getTokensWithHandler:(GIDAuthenticationHandler)handler; |
| |
| // Refreshes the access token and the ID token using the refresh token. |
| - (void)refreshTokensWithHandler:(GIDAuthenticationHandler)handler; |
| |
| // Gets the access token, which may be a new one from the refresh token if the original has already |
| // expired or is about to expire. Deprecated: use |getTokensWithHandler:| to get access tokens |
| // instead. |
| - (void)getAccessTokenWithHandler:(GIDAccessTokenHandler)handler |
| DEPRECATED_MSG_ATTRIBUTE("Use |getTokensWithHandler:| instead."); |
| |
| // Refreshes the access token with the refresh token. Deprecated: Use |refreshTokensWithHandler:| |
| // to refresh access tokens instead. |
| - (void)refreshAccessTokenWithHandler:(GIDAccessTokenHandler)handler |
| DEPRECATED_MSG_ATTRIBUTE("Use |refreshTokensWithHandler:| instead."); |
| |
| @end |