Sfoglia il codice sorgente

[AppCheck] Add support for bundle ID-based API Key Restrictions (#8678)

* Add X-Ios-Bundle-Identifier to AC SDK

* Update CHANGELOG

* Update CHANGELOG 2
Nick Cooke 4 anni fa
parent
commit
a5fbb0a352

+ 3 - 0
FirebaseAppCheck/CHANGELOG.md

@@ -1,3 +1,6 @@
+# v8.8.0 -- M105
+- [added] Add support for bundle ID-based API Key Restrictions (#8678)
+
 # v8.6.0 -- M102
 - [changed] Documented unsupported platforms (#8493).
 

+ 4 - 0
FirebaseAppCheck/Sources/Core/APIService/FIRAppCheckAPIService.m

@@ -36,6 +36,7 @@ static NSString *const kAPIKeyHeaderKey = @"X-Goog-Api-Key";
 static NSString *const kHeartbeatKey = @"X-firebase-client-log-type";
 static NSString *const kHeartbeatStorageTag = @"fire-app-check";
 static NSString *const kUserAgentKey = @"X-firebase-client";
+static NSString *const kBundleIdKey = @"X-Ios-Bundle-Identifier";
 
 static NSString *const kDefaultBaseURL = @"https://firebaseappcheck.googleapis.com/v1beta";
 
@@ -117,6 +118,9 @@ static NSString *const kDefaultBaseURL = @"https://firebaseappcheck.googleapis.c
                                    .stringValue
                  forHTTPHeaderField:kHeartbeatKey];
 
+             [request setValue:[[NSBundle mainBundle] bundleIdentifier]
+                 forHTTPHeaderField:kBundleIdKey];
+
              [additionalHeaders
                  enumerateKeysAndObjectsUsingBlock:^(NSString *_Nonnull key, NSString *_Nonnull obj,
                                                      BOOL *_Nonnull stop) {

+ 3 - 0
FirebaseAppCheck/Tests/Unit/Core/FIRAppCheckAPIServiceTests.m

@@ -96,6 +96,9 @@
 
     XCTAssertEqualObjects(request.allHTTPHeaderFields[@"X-Goog-Api-Key"], self.APIKey);
 
+    XCTAssertEqualObjects(request.allHTTPHeaderFields[@"X-Ios-Bundle-Identifier"],
+                          [[NSBundle mainBundle] bundleIdentifier]);
+
     XCTAssertEqualObjects(request.allHTTPHeaderFields[@"header1"], @"value1");
 
     XCTAssertEqualObjects(request.HTTPMethod, @"POST");