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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 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}";
     }
 }