Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions GoogleSignIn/Sources/GIDGoogleUser.m
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,7 @@ - (void)refreshTokensIfNeededWithCompletion:(GIDGoogleUserCompletion)completion
[additionalParameters addEntriesFromDictionary:
self.authState.lastTokenResponse.request.additionalParameters];
#endif // TARGET_OS_IOS && !TARGET_OS_MACCATALYST
additionalParameters[kSDKVersionLoggingParameter] = GIDVersion();
additionalParameters[kEnvironmentLoggingParameter] = GIDEnvironment();
[additionalParameters addEntriesFromDictionary:[GIDSignInPreferences loggingParameters]];

OIDTokenRequest *tokenRefreshRequest =
[self.authState tokenRefreshRequestWithAdditionalParameters:additionalParameters];
Expand Down
10 changes: 4 additions & 6 deletions GoogleSignIn/Sources/GIDSignIn.m
Original file line number Diff line number Diff line change
Expand Up @@ -579,9 +579,9 @@ - (void)disconnectWithCompletion:(nullable GIDDisconnectCompletion)completion {
revokeURLString = [NSString stringWithFormat:@"%@&%@=%@&%@=%@",
revokeURLString,
kSDKVersionLoggingParameter,
GIDVersion(),
[GIDSignInPreferences sdkVersion],
kEnvironmentLoggingParameter,
GIDEnvironment()];
[GIDSignInPreferences environment]];
NSURL *revokeURL = [NSURL URLWithString:revokeURLString];
[self startFetchURL:revokeURL
fromAuthState:authState
Expand Down Expand Up @@ -918,8 +918,7 @@ - (void)authorizationRequestWithOptions:(GIDSignInInternalOptions *)options comp
#elif TARGET_OS_OSX || TARGET_OS_MACCATALYST
[additionalParameters addEntriesFromDictionary:options.extraParams];
#endif // TARGET_OS_OSX || TARGET_OS_MACCATALYST
additionalParameters[kSDKVersionLoggingParameter] = GIDVersion();
additionalParameters[kEnvironmentLoggingParameter] = GIDEnvironment();
[additionalParameters addEntriesFromDictionary:[GIDSignInPreferences loggingParameters]];

return additionalParameters;
}
Expand Down Expand Up @@ -1054,8 +1053,7 @@ - (void)maybeFetchToken:(GIDAuthFlow *)authFlow {
emmSupport:authFlow.emmSupport
isPasscodeInfoRequired:passcodeInfoRequired.length > 0]];
#endif // TARGET_OS_IOS && !TARGET_OS_MACCATALYST
additionalParameters[kSDKVersionLoggingParameter] = GIDVersion();
additionalParameters[kEnvironmentLoggingParameter] = GIDEnvironment();
[additionalParameters addEntriesFromDictionary:[GIDSignInPreferences loggingParameters]];

OIDTokenRequest *tokenRequest;
if (!authState.lastTokenResponse.accessToken &&
Expand Down
12 changes: 9 additions & 3 deletions GoogleSignIn/Sources/GIDSignInPreferences.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,17 @@ NS_ASSUME_NONNULL_BEGIN
extern NSString *const kSDKVersionLoggingParameter;
extern NSString *const kEnvironmentLoggingParameter;

NSString* GIDVersion(void);
@interface GIDSignInPreferences : NSObject

NSString* GIDEnvironment(void);
/// Returns the current Google Sign-In SDK version, prefixed so that `gid` version values can
/// be distinguished from other values reported under the legacy `gpsdk` logging key.
+ (NSString *)sdkVersion;

@interface GIDSignInPreferences : NSObject
/// Returns the current Apple execution environment, such as `ios` or `macos`.
+ (NSString *)environment;

/// Returns the standard logging parameters to send with requests to Google's servers.
+ (NSDictionary<NSString *, NSString *> *)loggingParameters;

+ (NSString *)googleAuthorizationServer;
+ (NSString *)googleTokenServer;
Expand Down
16 changes: 10 additions & 6 deletions GoogleSignIn/Sources/GIDSignInPreferences.m
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,13 @@
#define STR(x) STR_EXPAND(x)
#define STR_EXPAND(x) #x

// The prefixed sdk version string to differentiate gid version values used with the legacy gpsdk
// logging key.
NSString* GIDVersion(void) {
@implementation GIDSignInPreferences

+ (NSString *)sdkVersion {
return [NSString stringWithFormat:@"gid-%@", @STR(GID_SDK_VERSION)];
}

// Get the current Apple execution environment.
NSString* GIDEnvironment(void) {
+ (NSString *)environment {
NSString *appleEnvironment = kAppleEnvironmentUnknown;

#if TARGET_OS_MACCATALYST
Expand Down Expand Up @@ -80,7 +79,12 @@
return appleEnvironment;
}

@implementation GIDSignInPreferences
+ (NSDictionary<NSString *, NSString *> *)loggingParameters {
return @{
kSDKVersionLoggingParameter : [self sdkVersion],
kEnvironmentLoggingParameter : [self environment],
};
}

+ (NSString *)googleAuthorizationServer {
return kLSOServer;
Expand Down
18 changes: 14 additions & 4 deletions GoogleSignIn/Tests/Unit/GIDSignInPreferencesTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ @interface GIDSignInPreferencesTest : XCTestCase

@implementation GIDSignInPreferencesTest

- (void)testGIDVersion {
NSString *version = GIDVersion();
- (void)testSDKVersion {
NSString *version = [GIDSignInPreferences sdkVersion];
XCTAssertTrue([version hasPrefix:@"gid-"]);
}

- (void)testGIDEnvironment {
NSString *environment = GIDEnvironment();
- (void)testEnvironment {
NSString *environment = [GIDSignInPreferences environment];

NSString *expectedEnvironment;
#if TARGET_OS_MACCATALYST
Expand All @@ -44,4 +44,14 @@ - (void)testGIDEnvironment {
XCTAssertEqualObjects(environment, expectedEnvironment);
}

- (void)testLoggingParameters {
NSDictionary<NSString *, NSString *> *params = [GIDSignInPreferences loggingParameters];

XCTAssertEqual(params.count, (NSUInteger)2);
XCTAssertEqualObjects(params[kSDKVersionLoggingParameter],
[GIDSignInPreferences sdkVersion]);
XCTAssertEqualObjects(params[kEnvironmentLoggingParameter],
[GIDSignInPreferences environment]);
}

@end
10 changes: 6 additions & 4 deletions GoogleSignIn/Tests/Unit/GIDSignInTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -1723,9 +1723,11 @@ - (void)verifyAndRevokeToken:(NSString *)token
NSDictionary<NSString *, NSObject<NSCopying> *> *params = queryComponent.dictionaryValue;
XCTAssertEqualObjects([params valueForKey:@"token"], token,
@"token parameter should match");
XCTAssertEqualObjects([params valueForKey:kSDKVersionLoggingParameter], GIDVersion(),
XCTAssertEqualObjects([params valueForKey:kSDKVersionLoggingParameter],
[GIDSignInPreferences sdkVersion],
@"SDK version logging parameter should match");
XCTAssertEqualObjects([params valueForKey:kEnvironmentLoggingParameter], GIDEnvironment(),
XCTAssertEqualObjects([params valueForKey:kEnvironmentLoggingParameter],
[GIDSignInPreferences environment],
@"Environment logging parameter should match");
// Emulate result back from server.
[self didFetch:nil error:nil];
Expand Down Expand Up @@ -1891,8 +1893,8 @@ - (void)OAuthLoginWithAddScopesFlow:(BOOL)addScopesFlow
XCTAssertNotNil(_savedAuthorizationRequest);
NSDictionary<NSString *, NSObject *> *params = _savedAuthorizationRequest.additionalParameters;
XCTAssertEqualObjects(params[@"include_granted_scopes"], @"true");
XCTAssertEqualObjects(params[kSDKVersionLoggingParameter], GIDVersion());
XCTAssertEqualObjects(params[kEnvironmentLoggingParameter], GIDEnvironment());
XCTAssertEqualObjects(params[kSDKVersionLoggingParameter], [GIDSignInPreferences sdkVersion]);
XCTAssertEqualObjects(params[kEnvironmentLoggingParameter], [GIDSignInPreferences environment]);
XCTAssertNotNil(_savedAuthorizationCallback);
#if TARGET_OS_IOS || TARGET_OS_MACCATALYST
XCTAssertEqual(_savedPresentingViewController, _presentingViewController);
Expand Down
Loading