2626
2727@interface FIROAuthCredential ()
2828
29+ @property (nonatomic , nullable ) NSString *rawNonce;
30+
2931- (nullable instancetype )initWithProvider : (NSString *)provider NS_UNAVAILABLE;
3032
3133@end
@@ -40,12 +42,14 @@ - (nullable instancetype)initWithProvider:(NSString *)provider {
4042
4143- (instancetype )initWithProviderID : (NSString *)providerID
4244 IDToken : (nullable NSString *)IDToken
45+ rawNonce : (nullable NSString *)rawNonce
4346 accessToken : (nullable NSString *)accessToken
4447 secret : (nullable NSString *)secret
4548 pendingToken : (nullable NSString *)pendingToken {
4649 self = [super initWithProvider: providerID];
4750 if (self) {
4851 _IDToken = IDToken;
52+ _rawNonce = rawNonce;
4953 _accessToken = accessToken;
5054 _pendingToken = pendingToken;
5155 _secret = secret;
@@ -56,8 +60,12 @@ - (instancetype)initWithProviderID:(NSString *)providerID
5660- (instancetype )initWithProviderID : (NSString *)providerID
5761 sessionID : (NSString *)sessionID
5862 OAuthResponseURLString : (NSString *)OAuthResponseURLString {
59- self =
60- [self initWithProviderID: providerID IDToken: nil accessToken: nil secret: nil pendingToken: nil ];
63+ self = [self initWithProviderID: providerID
64+ IDToken: nil
65+ rawNonce: nil
66+ accessToken: nil
67+ secret: nil
68+ pendingToken: nil ];
6169 if (self) {
6270 _OAuthResponseURLString = OAuthResponseURLString;
6371 _sessionID = sessionID;
@@ -71,6 +79,7 @@ - (nullable instancetype)initWithVerifyAssertionResponse:(FIRVerifyAssertionResp
7179 response.oauthSecretToken .length ) {
7280 return [self initWithProviderID: response.providerID
7381 IDToken: response.oauthIDToken
82+ rawNonce: nil
7483 accessToken: response.oauthAccessToken
7584 secret: response.oauthSecretToken
7685 pendingToken: response.pendingToken];
@@ -80,6 +89,7 @@ - (nullable instancetype)initWithVerifyAssertionResponse:(FIRVerifyAssertionResp
8089
8190- (void )prepareVerifyAssertionRequest : (FIRVerifyAssertionRequest *)request {
8291 request.providerIDToken = _IDToken;
92+ request.providerRawNonce = _rawNonce;
8393 request.providerAccessToken = _accessToken;
8494 request.requestURI = _OAuthResponseURLString;
8595 request.sessionID = _sessionID;
@@ -95,11 +105,13 @@ + (BOOL)supportsSecureCoding {
95105
96106- (nullable instancetype )initWithCoder : (NSCoder *)aDecoder {
97107 NSString *IDToken = [aDecoder decodeObjectOfClass: [NSString class ] forKey: @" IDToken" ];
108+ NSString *rawNonce = [aDecoder decodeObjectOfClass: [NSString class ] forKey: @" rawNonce" ];
98109 NSString *accessToken = [aDecoder decodeObjectOfClass: [NSString class ] forKey: @" accessToken" ];
99110 NSString *pendingToken = [aDecoder decodeObjectOfClass: [NSString class ] forKey: @" pendingToken" ];
100111 NSString *secret = [aDecoder decodeObjectOfClass: [NSString class ] forKey: @" secret" ];
101112 self = [self initWithProviderID: self .provider
102113 IDToken: IDToken
114+ rawNonce: rawNonce
103115 accessToken: accessToken
104116 secret: secret
105117 pendingToken: pendingToken];
@@ -108,6 +120,7 @@ - (nullable instancetype)initWithCoder:(NSCoder *)aDecoder {
108120
109121- (void )encodeWithCoder : (NSCoder *)aCoder {
110122 [aCoder encodeObject: self .IDToken forKey: @" IDToken" ];
123+ [aCoder encodeObject: self .IDToken forKey: @" rawNonce" ];
111124 [aCoder encodeObject: self .accessToken forKey: @" accessToken" ];
112125 [aCoder encodeObject: self .pendingToken forKey: @" pendingToken" ];
113126 [aCoder encodeObject: self .secret forKey: @" secret" ];
0 commit comments