org.pfsw.security.oauth.pkce
Class PlainPKCEGenerator

java.lang.Object
  extended by org.pfsw.security.oauth.pkce.AbstractPKCEGenerator
      extended by org.pfsw.security.oauth.pkce.PlainPKCEGenerator
All Implemented Interfaces:
PKCEGenerator

public class PlainPKCEGenerator
extends AbstractPKCEGenerator

An RFC-7636 PKCE proof key generator for the "plain" code challenge method.


Constructor Summary
PlainPKCEGenerator()
          Creates a new instance with a default random string generator for new code verifier strings.
PlainPKCEGenerator(org.pfsw.text.StringGenerator randomStringGenerator)
          Creates a new instance with the given random string generator.
 
Method Summary
static PlainPKCEGenerator create()
          Creates a new instance with a default random string generator for new code verifier strings.
static PlainPKCEGenerator create(org.pfsw.text.StringGenerator randomStringGenerator)
          Creates a new instance with the given random string generator.
protected  java.lang.String createCodeChallenge(java.lang.String codeVerifier)
          Returns the derived code challenge string for the given code verifier by applying the AbstractPKCEGenerator.getCodeChallengeMethod().
static PlainPKCEGenerator instance()
          Returns always the same instance of this class.
static ProofKeyForCodeExchange newProofKey()
          Returns a newly generated proof key.
 
Methods inherited from class org.pfsw.security.oauth.pkce.AbstractPKCEGenerator
generate, generateRandomCodeVerifier, getCodeChallengeMethod, getRandomStringGenerator, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PlainPKCEGenerator

public PlainPKCEGenerator()
Creates a new instance with a default random string generator for new code verifier strings.


PlainPKCEGenerator

public PlainPKCEGenerator(org.pfsw.text.StringGenerator randomStringGenerator)
Creates a new instance with the given random string generator.

Parameters:
randomStringGenerator - A string generator that produces a different string for each invocation (must not be null). It will be used to generate new code verifier strings.
Method Detail

instance

public static PlainPKCEGenerator instance()
Returns always the same instance of this class.


create

public static PlainPKCEGenerator create()
Creates a new instance with a default random string generator for new code verifier strings.


create

public static PlainPKCEGenerator create(org.pfsw.text.StringGenerator randomStringGenerator)
Creates a new instance with the given random string generator.

Parameters:
randomStringGenerator - A string generator that produces a different string for each invocation (must not be null). It will be used to generate new code verifier strings.

newProofKey

public static ProofKeyForCodeExchange newProofKey()
Returns a newly generated proof key.


createCodeChallenge

protected java.lang.String createCodeChallenge(java.lang.String codeVerifier)
Description copied from class: AbstractPKCEGenerator
Returns the derived code challenge string for the given code verifier by applying the AbstractPKCEGenerator.getCodeChallengeMethod().

Specified by:
createCodeChallenge in class AbstractPKCEGenerator
Parameters:
codeVerifier - The newly created random code verifier.
Returns:
The calculated code challenge.