As of iOS 13.3.1, apps installed with free developer accounts that contain embedded frameworks fail to launch. To work around this, we now link all dependencies via Cocoapods as static libraries.
73 lines
2.8 KiB
Objective-C
Executable File
73 lines
2.8 KiB
Objective-C
Executable File
/*
|
|
* 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
|