Skip to content

Commit a5fbb0a

Browse files
authored
[AppCheck] Add support for bundle ID-based API Key Restrictions (#8678)
* Add X-Ios-Bundle-Identifier to AC SDK * Update CHANGELOG * Update CHANGELOG 2
1 parent 5a9ec53 commit a5fbb0a

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

FirebaseAppCheck/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# v8.8.0 -- M105
2+
- [added] Add support for bundle ID-based API Key Restrictions (#8678)
3+
14
# v8.6.0 -- M102
25
- [changed] Documented unsupported platforms (#8493).
36

FirebaseAppCheck/Sources/Core/APIService/FIRAppCheckAPIService.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
static NSString *const kHeartbeatKey = @"X-firebase-client-log-type";
3737
static NSString *const kHeartbeatStorageTag = @"fire-app-check";
3838
static NSString *const kUserAgentKey = @"X-firebase-client";
39+
static NSString *const kBundleIdKey = @"X-Ios-Bundle-Identifier";
3940

4041
static NSString *const kDefaultBaseURL = @"https://firebaseappcheck.googleapis.com/v1beta";
4142

@@ -117,6 +118,9 @@ - (instancetype)initWithURLSession:(NSURLSession *)session
117118
.stringValue
118119
forHTTPHeaderField:kHeartbeatKey];
119120

121+
[request setValue:[[NSBundle mainBundle] bundleIdentifier]
122+
forHTTPHeaderField:kBundleIdKey];
123+
120124
[additionalHeaders
121125
enumerateKeysAndObjectsUsingBlock:^(NSString *_Nonnull key, NSString *_Nonnull obj,
122126
BOOL *_Nonnull stop) {

FirebaseAppCheck/Tests/Unit/Core/FIRAppCheckAPIServiceTests.m

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ - (void)testDataRequestSuccess {
9696

9797
XCTAssertEqualObjects(request.allHTTPHeaderFields[@"X-Goog-Api-Key"], self.APIKey);
9898

99+
XCTAssertEqualObjects(request.allHTTPHeaderFields[@"X-Ios-Bundle-Identifier"],
100+
[[NSBundle mainBundle] bundleIdentifier]);
101+
99102
XCTAssertEqualObjects(request.allHTTPHeaderFields[@"header1"], @"value1");
100103

101104
XCTAssertEqualObjects(request.HTTPMethod, @"POST");

0 commit comments

Comments
 (0)