Skip to content
Draft
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
2 changes: 1 addition & 1 deletion FirebaseAppCheck.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Pod::Spec.new do |s|
s.osx.weak_framework = 'DeviceCheck'
s.tvos.weak_framework = 'DeviceCheck'

s.dependency 'AppCheckCore', '~> 11.3'
s.dependency 'AppCheckCore', '~> 12.0'
s.dependency 'FirebaseAppCheckInterop', '~> 12.19.0'
s.dependency 'FirebaseCore', '~> 12.19.0'
s.dependency 'GoogleUtilities/Environment', '~> 8.1'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@

#import "FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppAttestProvider.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

#import "FirebaseAppCheck/Sources/Core/FIRApp+AppCheck.h"
#import "FirebaseAppCheck/Sources/Core/FIRAppCheckLogger.h"
Expand Down
12 changes: 9 additions & 3 deletions FirebaseAppCheck/Sources/Core/Errors/FIRAppCheckErrorUtil.m
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,18 @@

#import "FirebaseAppCheck/Sources/Core/Errors/FIRAppCheckErrorUtil.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

@implementation FIRAppCheckErrorUtil

+ (NSError *)publicDomainErrorWithError:(NSError *)error {
if ([error.domain isEqualToString:GACAppCheckErrorDomain]) {
if ([error.domain isEqualToString:@"com.google.app_check_core"]) {
return [self publicDomainErrorWithGACError:error];
} else if ([error.domain isEqualToString:FIRAppCheckErrorDomain]) {
return error;
Expand All @@ -30,7 +36,7 @@ + (NSError *)publicDomainErrorWithError:(NSError *)error {
return [self unknownErrorWithError:error];
}

/// Converts an App Check Core error (`GACAppCheckErrorDomain`) to a public error
/// Converts an App Check Core error (`@"com.google.app_check_core"`) to a public error
/// (`FIRAppCheckErrorDomain`).
+ (NSError *)publicDomainErrorWithGACError:(NSError *)appCheckCoreError {
FIRAppCheckErrorCode errorCode;
Expand Down
8 changes: 7 additions & 1 deletion FirebaseAppCheck/Sources/Core/FIRAppCheck.m
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@

#import "FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheck.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif
#import <FirebaseAppCheckInterop/FirebaseAppCheckInterop.h>
#import <GoogleUtilities/GULUserDefaults.h>

Expand Down
8 changes: 7 additions & 1 deletion FirebaseAppCheck/Sources/Core/FIRAppCheckLogger.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@

#import <Foundation/Foundation.h>

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

#import "FirebaseCore/Extension/FirebaseCoreInternal.h"

Expand Down
10 changes: 8 additions & 2 deletions FirebaseAppCheck/Sources/Core/FIRAppCheckSettings.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@

#import <Foundation/Foundation.h>

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

@class FIRApp;
@class GULUserDefaults;
Expand All @@ -27,7 +33,7 @@ FOUNDATION_EXPORT NSString *const kFIRAppCheckTokenAutoRefreshEnabledUserDefault
FOUNDATION_EXPORT NSString *const kFIRAppCheckTokenAutoRefreshEnabledInfoPlistKey;

/// Handles storing and updating the Firebase app check wide settings and parameters.
@interface FIRAppCheckSettings : GACAppCheckSettings
@interface FIRAppCheckSettings : NSObject <GACAppCheckSettingsProtocol>

/// If Firebase app check token auto-refresh is allowed.
@property(nonatomic, assign) BOOL isTokenAutoRefreshEnabled;
Expand Down
12 changes: 7 additions & 5 deletions FirebaseAppCheck/Sources/Core/FIRAppCheckSettings.m
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ @interface FIRAppCheckSettings ()

@implementation FIRAppCheckSettings

@synthesize isTokenAutoRefreshEnabled = _isTokenAutoRefreshEnabled;

- (instancetype)initWithApp:(FIRApp *)firebaseApp
userDefault:(GULUserDefaults *)userDefaults
mainBundle:(NSBundle *)mainBundle {
Expand All @@ -49,7 +51,7 @@ - (instancetype)initWithApp:(FIRApp *)firebaseApp
_mainBundle = mainBundle;
_userDefaultKey = [kFIRAppCheckTokenAutoRefreshEnabledUserDefaultsPrefix
stringByAppendingString:firebaseApp.name];
[super setIsTokenAutoRefreshEnabled:NO];
_isTokenAutoRefreshEnabled = NO;
_isTokenAutoRefreshConfigured = NO;
}
return self;
Expand All @@ -60,7 +62,7 @@ - (BOOL)isTokenAutoRefreshEnabled {
if (self.isTokenAutoRefreshConfigured) {
// Return value form the in-memory cache to avoid accessing the user default or bundle when
// not required.
return [super isTokenAutoRefreshEnabled];
return _isTokenAutoRefreshEnabled;
}

// Check user defaults for a value set during the previous launch.
Expand All @@ -76,9 +78,9 @@ - (BOOL)isTokenAutoRefreshEnabled {
if (isTokenAutoRefreshEnabledNumber != nil) {
// Update in-memory cache.
self.isTokenAutoRefreshConfigured = YES;
self.isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabledNumber.boolValue;
_isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabledNumber.boolValue;
// Return the value.
return [super isTokenAutoRefreshEnabled];
return _isTokenAutoRefreshEnabled;
}

// Fallback to the global data collection flag.
Expand All @@ -95,7 +97,7 @@ - (BOOL)isTokenAutoRefreshEnabled {
- (void)setIsTokenAutoRefreshEnabled:(BOOL)isTokenAutoRefreshEnabled {
@synchronized(self) {
self.isTokenAutoRefreshConfigured = YES;
[super setIsTokenAutoRefreshEnabled:isTokenAutoRefreshEnabled];
_isTokenAutoRefreshEnabled = isTokenAutoRefreshEnabled;
[self.userDefaults setBool:isTokenAutoRefreshEnabled forKey:self.userDefaultKey];
}
}
Expand Down
8 changes: 7 additions & 1 deletion FirebaseAppCheck/Sources/Core/FIRAppCheckToken+Internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@

#import <Foundation/Foundation.h>

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

NS_ASSUME_NONNULL_BEGIN

Expand Down
10 changes: 8 additions & 2 deletions FirebaseAppCheck/Sources/Core/FIRHeartbeatLogger+AppCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,20 @@

#import "FirebaseCore/Extension/FIRHeartbeatLogger.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

NS_ASSUME_NONNULL_BEGIN

@interface FIRHeartbeatLogger (AppCheck)

/// Returns a closure that adds a heartbeat logging header to a `URLRequest`.
- (GACAppCheckAPIRequestHook)requestHook;
- (void (^)(NSMutableURLRequest *))requestHook;

@end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

@implementation FIRHeartbeatLogger (AppCheck)

- (GACAppCheckAPIRequestHook)requestHook {
- (void (^)(NSMutableURLRequest *))requestHook {
return ^(NSMutableURLRequest *request) {
NSString *heartbeatsValue = [self headerValue];
if (heartbeatsValue) {
Expand Down
8 changes: 7 additions & 1 deletion FirebaseAppCheck/Sources/Core/FIRInternalAppCheckProvider.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@

#import <Foundation/Foundation.h>

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

NS_ASSUME_NONNULL_BEGIN

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@

#import "FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckDebugProvider.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

#import "FirebaseAppCheck/Sources/Core/FIRApp+AppCheck.h"
#import "FirebaseAppCheck/Sources/Core/FIRAppCheckLogger.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@

#import "FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRDeviceCheckProvider.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

#import "FirebaseAppCheck/Sources/Core/FIRApp+AppCheck.h"
#import "FirebaseAppCheck/Sources/Core/FIRAppCheckLogger.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@
#import "FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRRecaptchaProvider.h"
#import "FirebaseAppCheck/Sources/RecaptchaProvider/FIRRecaptchaProvider+Internal.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

#if SWIFT_PACKAGE
#if (TARGET_OS_IOS && !TARGET_OS_MACCATALYST) || TARGET_OS_VISION
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@

#import <XCTest/XCTest.h>

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif
#import <DeviceCheck/DeviceCheck.h>
#import <OCMock/OCMock.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@

#import <XCTest/XCTest.h>

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

static NSString *const kTestErrorDomain = @"com.google.test.error-domain";
static NSInteger kTestErrorCode = 42;
Expand Down Expand Up @@ -54,7 +60,7 @@ - (void)testPublicDomainErrorForPublicError {
}

- (void)testPublicDomainErrorForGACErrorUnknown {
NSError *unknownError = [NSError errorWithDomain:GACAppCheckErrorDomain
NSError *unknownError = [NSError errorWithDomain:@"com.google.app_check_core"
code:GACAppCheckErrorCodeUnknown
userInfo:self.userInfo];

Expand All @@ -68,7 +74,7 @@ - (void)testPublicDomainErrorForGACErrorUnknown {
}

- (void)testPublicDomainErrorForGACErrorServerUnreachable {
NSError *serverError = [NSError errorWithDomain:GACAppCheckErrorDomain
NSError *serverError = [NSError errorWithDomain:@"com.google.app_check_core"
code:GACAppCheckErrorCodeServerUnreachable
userInfo:self.userInfo];

Expand All @@ -83,7 +89,7 @@ - (void)testPublicDomainErrorForGACErrorServerUnreachable {

- (void)testPublicDomainErrorForGACErrorInvalidConfiguration {
NSError *invalidConfigurationError =
[NSError errorWithDomain:GACAppCheckErrorDomain
[NSError errorWithDomain:@"com.google.app_check_core"
code:GACAppCheckErrorCodeInvalidConfiguration
userInfo:self.userInfo];

Expand All @@ -99,7 +105,7 @@ - (void)testPublicDomainErrorForGACErrorInvalidConfiguration {
}

- (void)testPublicDomainErrorForGACErrorKeychain {
NSError *keychainError = [NSError errorWithDomain:GACAppCheckErrorDomain
NSError *keychainError = [NSError errorWithDomain:@"com.google.app_check_core"
code:GACAppCheckErrorCodeKeychain
userInfo:self.userInfo];

Expand All @@ -113,7 +119,7 @@ - (void)testPublicDomainErrorForGACErrorKeychain {
}

- (void)testPublicDomainErrorForGACErrorUnsupported {
NSError *unsupportedError = [NSError errorWithDomain:GACAppCheckErrorDomain
NSError *unsupportedError = [NSError errorWithDomain:@"com.google.app_check_core"
code:GACAppCheckErrorCodeUnsupported
userInfo:self.userInfo];

Expand All @@ -129,7 +135,7 @@ - (void)testPublicDomainErrorForGACErrorUnsupported {

- (void)testPublicDomainErrorForGACErrorUnrecognizedCode {
NSInteger unrecognizedErrorCode = -1000; // Not part of the GACAppCheckErrorCode enum
NSError *unknownError = [NSError errorWithDomain:GACAppCheckErrorDomain
NSError *unknownError = [NSError errorWithDomain:@"com.google.app_check_core"
code:unrecognizedErrorCode
userInfo:self.userInfo];

Expand All @@ -147,7 +153,8 @@ - (void)testPublicDomainErrorForGACErrorUnrecognizedCode {
}

- (void)testPublicDomainErrorForUnrecognizedDomainError {
// Error from an unrecognized domain (i.e., not FIRAppCheckErrorDomain or GACAppCheckErrorDomain).
// Error from an unrecognized domain (i.e., not FIRAppCheckErrorDomain or
// @"com.google.app_check_core").
NSError *unrecognizedError = [NSError errorWithDomain:kTestErrorDomain
code:kTestErrorCode
userInfo:self.userInfo];
Expand Down
8 changes: 7 additions & 1 deletion FirebaseAppCheck/Tests/Unit/Core/FIRAppCheckLoggerTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@

#import "FirebaseAppCheck/Sources/Core/FIRAppCheckLogger.h"

#import <AppCheckCore/AppCheckCore.h>
#if __has_include(<AppCheckCore/AppCheckCore-Swift.h>)
#import <AppCheckCore/AppCheckCore-Swift.h>
#elif __has_include("AppCheckCore-Swift.h")
#import "AppCheckCore-Swift.h"
#else
@import AppCheckCore;
#endif

@interface FIRAppCheckLoggerTests : XCTestCase
@end
Expand Down
2 changes: 1 addition & 1 deletion FirebaseAppCheck/Tests/Unit/Core/FIRAppCheckTests.m
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ - (NSError *)appCheckCoreErrorWithCode:(GACAppCheckErrorCode)code
userInfo[NSUnderlyingErrorKey] = underlyingError;
userInfo[NSLocalizedFailureReasonErrorKey] = failureReason;

return [NSError errorWithDomain:GACAppCheckErrorDomain code:code userInfo:userInfo];
return [NSError errorWithDomain:@"com.google.app_check_core" code:code userInfo:userInfo];
}

- (FIRAppCheckToken *)validToken {
Expand Down
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
# commit Gemfile and Gemfile.lock.
source 'https://rubygems.org'

# test everything

# To test CocoaPods pre-releases, update to a relevant commit or tag like below.
# cocoapods-core and xcodeproj may or may not also need tags. For additional
# testing, enable the cron jobs with a global search and replace from your
Expand Down
Loading
Loading