All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.jsonwebtoken.security.JwkSetParserBuilder Maven / Gradle / Ivy

There is a newer version: 0.12.6
Show newest version
/*
 * Copyright © 2023 jsonwebtoken.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package io.jsonwebtoken.security;

import io.jsonwebtoken.io.Parser;
import io.jsonwebtoken.io.ParserBuilder;

/**
 * A builder to construct a {@link Parser} that can parse {@link JwkSet}s.
 * Example usage:
 * 
 * JwkSet jwkSet = Jwks.setParser()
 *         .provider(aJcaProvider)      // optional
 *         .json(deserializer)          // optional
 *         .operationPolicy(policy)     // optional
 *         .ignoreUnsupported(aBoolean) // optional
 *         .build()
 *         .parse(jwkSetString);
* * @since 0.12.0 */ public interface JwkSetParserBuilder extends ParserBuilder, KeyOperationPolicied { /** * Sets whether the parser should ignore any encountered JWK it does not support, either because the JWK has an * unrecognized {@link Jwk#getType() key type} or the JWK was malformed (missing required parameters, etc). * The default value is {@code true} per * RFC 7517, Section 5, last paragraph: *
     *    Implementations SHOULD ignore JWKs within a JWK Set that use "kty"
     *    (key type) values that are not understood by them, that are missing
     *    required members, or for which values are out of the supported
     *    ranges.
     * 
* *

This value may be set to {@code false} for applications that prefer stricter parsing constraints * and wish to react to any {@link MalformedKeyException}s or {@link UnsupportedKeyException}s that could * occur.

* * @param ignore whether to ignore unsupported or malformed JWKs encountered during parsing. * @return the builder for method chaining. */ JwkSetParserBuilder ignoreUnsupported(boolean ignore); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy