Skip to content

Commit 0fb31ac

Browse files
authored
Add user agent and heartbeat headers. (#9066)
* Add user agend and heartbeat headers. * Update changelog. * Update changelog.
1 parent ba50608 commit 0fb31ac

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

FirebaseAuth/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# v8.14.0
2+
- [added] Added `X-Firebase-Client` and `X-Firebase-Client-Log-Type` headers to network requests. (#9066)
3+
14
# v8.12.0
25
- [added] Added documentation note and error logging to `getStoredUser(forAccessGroup:)` regarding tvOS keychain sharing issues. (#8878)
36
- [fixed] Partial fix for expired ID token issue. (#6521)

FirebaseAuth/Sources/Backend/FIRAuthBackend.m

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,21 @@
9393
*/
9494
static NSString *const kFirebaseAppIDHeader = @"X-Firebase-GMPID";
9595

96+
/** @var kFirebaseUserAgentHeader
97+
@brief HTTP header name for the Firebase user agent.
98+
*/
99+
static NSString *const kFirebaseUserAgentHeader = @"X-Firebase-Client";
100+
101+
/** @var kFirebaseHeartbeatHeader
102+
@brief HTTP header name for the Firebase heartbeat.
103+
*/
104+
static NSString *const kFirebaseHeartbeatHeader = @"X-Firebase-Client-Log-Type";
105+
106+
/** @var kHeartbeatStorageTag
107+
@brief Storage tag for the Firebase Auth heartbeat.
108+
*/
109+
static NSString *const kHeartbeatStorageTag = @"fire-auth";
110+
96111
/** @var kFirebaseAuthCoreFrameworkMarker
97112
@brief The marker in the HTTP header that indicates the request comes from Firebase Auth Core.
98113
*/
@@ -647,6 +662,10 @@ - (void)asyncPostToURLWithRequestConfiguration:(FIRAuthRequestConfiguration *)re
647662
[request setValue:bundleID forHTTPHeaderField:kIosBundleIdentifierHeader];
648663
NSString *appID = requestConfiguration.appID;
649664
[request setValue:appID forHTTPHeaderField:kFirebaseAppIDHeader];
665+
NSString *userAgent = [FIRApp firebaseUserAgent];
666+
[request setValue:userAgent forHTTPHeaderField:kFirebaseUserAgentHeader];
667+
NSString *heartbeat = @([FIRHeartbeatInfo heartbeatCodeForTag:kHeartbeatStorageTag]).stringValue;
668+
[request setValue:heartbeat forHTTPHeaderField:kFirebaseHeartbeatHeader];
650669

651670
NSArray<NSString *> *preferredLocalizations = [NSBundle mainBundle].preferredLocalizations;
652671
if (preferredLocalizations.count) {

0 commit comments

Comments
 (0)