public sealed override IDictionary <string, string> GetPayload(IDictionary <string, string> additionalPayload = null) { var iat = DateTime.Now.ToUnixSeconds(); var exp = (DateTime.Now + _configuration.CustomTokenTTL).ToUnixSeconds(); AddToPayload("iss", _creadentials.GetServiceAccountEmail()); AddToPayload("sub", _creadentials.GetServiceAccountEmail()); AddToPayload("aud", _configuration.CustomTokenPath.AbsoluteUri); AddToPayload("iat", iat.ToString()); AddToPayload("exp", exp.ToString()); return(base.GetPayload(additionalPayload)); }
private string PrepareSignedUrl(SigningOption options, string signature) => new UriBuilder { Scheme = "https", Host = $"{_firebaseConfiguration.StorageBaseAuthority.TrimSlashes().Replace("https://", "")}/{_credentials.GetDefaultBucket().TrimSlashes()}", Path = options.Path.Trim().TrimSlashes(), Query = $"GoogleAccessId={_credentials.GetServiceAccountEmail()}&Expires={BuildExpiration(options.ExpireDate)}&Signature={WebUtility.UrlEncode(signature)}" } .Uri.AbsoluteUri;
public sealed override IDictionary <string, string> GetPayload(IDictionary <string, string> additionalPayload = null) { var iat = DateTime.Now.ToUnixSeconds(); var exp = (DateTime.Now + _configuration.AccessTokenTTL).ToUnixSeconds(); AddToPayload("scope", string.Join <string>(_configuration.GoogleScopeDelimiter, _configuration.AllowedGoogleScopes)); AddToPayload("iss", _creadentials.GetServiceAccountEmail()); AddToPayload("aud", _configuration.GoogleOAuthTokenPath.AbsoluteUri); AddToPayload("exp", exp.ToString()); AddToPayload("iat", iat.ToString()); return(base.GetPayload(additionalPayload)); }
private string PrepareSignedUrl(SigningOption options, string signature) { var uri = new UriBuilder(); uri.Scheme = "https"; uri.Host = $"{_firebaseConfiguration.StorageBaseAuthority.TrimSlashes().Replace("https://", "")}/{_credentials.GetDefaultBucket().TrimSlashes()}"; uri.Path = options.Path.Trim().TrimSlashes(); uri.Query = string.Format("GoogleAccessId={0}&Expires={1}&Signature={2}", _credentials.GetServiceAccountEmail(), BuildExpiration(options.ExpireDate), WebUtility.UrlEncode(signature)); return(uri.Uri.AbsoluteUri); }