internal static FirebaseTokenVerifier CreateIDTokenVerifier(FirebaseApp app) { var projectId = app.GetProjectId(); if (string.IsNullOrEmpty(projectId)) { throw new ArgumentException( "Must initialize FirebaseApp with a project ID to verify ID tokens."); } var keySource = new HttpPublicKeySource( IdTokenCertUrl, SystemClock.Default, app.Options.HttpClientFactory); var args = new FirebaseTokenVerifierArgs() { ProjectId = projectId, ShortName = "ID token", Operation = "VerifyIdTokenAsync()", Url = "https://firebase.google.com/docs/auth/admin/verify-id-tokens", Issuer = "https://securetoken.google.com/", Clock = SystemClock.Default, PublicKeySource = keySource, }; return(new FirebaseTokenVerifier(args)); }
internal static FirebaseTokenVerifier CreateIDTokenVerifier(FirebaseApp app) { var projectId = app.GetProjectId(); if (string.IsNullOrEmpty(projectId)) { throw new ArgumentException( "Must initialize FirebaseApp with a project ID to verify ID tokens."); } var keySource = new HttpPublicKeySource( IdTokenCertUrl, SystemClock.Default, app.Options.HttpClientFactory); var args = FirebaseTokenVerifierArgs.ForIdTokens(projectId, keySource); return(new FirebaseTokenVerifier(args)); }
public FirebaseTokenVerifier(FirebaseTokenVerifierArgs args) { ProjectId = args.ProjectId.ThrowIfNullOrEmpty(nameof(args.ProjectId)); _shortName = args.ShortName.ThrowIfNullOrEmpty(nameof(args.ShortName)); _operation = args.Operation.ThrowIfNullOrEmpty(nameof(args.Operation)); _url = args.Url.ThrowIfNullOrEmpty(nameof(args.Url)); _issuer = args.Issuer.ThrowIfNullOrEmpty(nameof(args.Issuer)); _clock = args.Clock.ThrowIfNull(nameof(args.Clock)); _keySource = args.PublicKeySource.ThrowIfNull(nameof(args.PublicKeySource)); if ("aeiou".Contains(_shortName.ToLower().Substring(0, 1))) { _articledShortName = $"an {_shortName}"; } else { _articledShortName = $"a {_shortName}"; } }
internal FirebaseTokenVerifier(FirebaseTokenVerifierArgs args) { this.ProjectId = args.ProjectId.ThrowIfNullOrEmpty(nameof(args.ProjectId)); this.shortName = args.ShortName.ThrowIfNullOrEmpty(nameof(args.ShortName)); this.operation = args.Operation.ThrowIfNullOrEmpty(nameof(args.Operation)); this.url = args.Url.ThrowIfNullOrEmpty(nameof(args.Url)); this.issuer = args.Issuer.ThrowIfNullOrEmpty(nameof(args.Issuer)); this.clock = args.Clock.ThrowIfNull(nameof(args.Clock)); this.keySource = args.PublicKeySource.ThrowIfNull(nameof(args.PublicKeySource)); if ("aeiou".Contains(this.shortName.ToLower().Substring(0, 1))) { this.articledShortName = $"an {this.shortName}"; } else { this.articledShortName = $"a {this.shortName}"; } }