created PKCE algorithm class
parent
83d7627ed0
commit
2cc90ba5f2
|
@ -56,6 +56,7 @@ import org.mitre.oauth2.model.convert.SimpleGrantedAuthorityStringConverter;
|
|||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.oauth2.provider.ClientDetails;
|
||||
|
||||
import com.nimbusds.jose.Algorithm;
|
||||
import com.nimbusds.jose.EncryptionMethod;
|
||||
import com.nimbusds.jose.JWEAlgorithm;
|
||||
import com.nimbusds.jose.JWSAlgorithm;
|
||||
|
@ -149,6 +150,9 @@ public class ClientDetailsEntity implements ClientDetails {
|
|||
|
||||
/** Software statement **/
|
||||
private JWT softwareStatement;
|
||||
|
||||
/** PKCE **/
|
||||
private PKCEAlgorithm codeChallengeMethod;
|
||||
|
||||
public enum AuthMethod {
|
||||
SECRET_POST("client_secret_post"),
|
||||
|
@ -231,7 +235,7 @@ public class ClientDetailsEntity implements ClientDetails {
|
|||
return lookup.get(value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create a blank ClientDetailsEntity
|
||||
*/
|
||||
|
@ -1010,4 +1014,18 @@ public class ClientDetailsEntity implements ClientDetails {
|
|||
this.softwareStatement = softwareStatement;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the codeChallengeMethod
|
||||
*/
|
||||
public PKCEAlgorithm getCodeChallengeMethod() {
|
||||
return codeChallengeMethod;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param codeChallengeMethod the codeChallengeMethod to set
|
||||
*/
|
||||
public void setCodeChallengeMethod(PKCEAlgorithm codeChallengeMethod) {
|
||||
this.codeChallengeMethod = codeChallengeMethod;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2016 The MITRE Corporation
|
||||
* and the MIT Internet Trust Consortium
|
||||
*
|
||||
* 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 org.mitre.oauth2.model;
|
||||
|
||||
import com.nimbusds.jose.Algorithm;
|
||||
import com.nimbusds.jose.Requirement;
|
||||
|
||||
/**
|
||||
* @author jricher
|
||||
*
|
||||
*/
|
||||
public final class PKCEAlgorithm extends Algorithm {
|
||||
|
||||
public static final PKCEAlgorithm plain = new PKCEAlgorithm("plain", Requirement.REQUIRED);
|
||||
|
||||
public static final PKCEAlgorithm S256 = new PKCEAlgorithm("S256", Requirement.OPTIONAL);
|
||||
|
||||
public PKCEAlgorithm(String name, Requirement req) {
|
||||
super(name, req);
|
||||
}
|
||||
|
||||
public PKCEAlgorithm(String name) {
|
||||
super(name, null);
|
||||
}
|
||||
|
||||
public static PKCEAlgorithm parse(final String s) {
|
||||
if (s.equals(plain.getName())) {
|
||||
return plain;
|
||||
} else if (s.equals(S256.getName())) {
|
||||
return S256;
|
||||
} else {
|
||||
return new PKCEAlgorithm(s);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -815,6 +815,22 @@ public class RegisteredClient {
|
|||
public void setSoftwareStatement(JWT softwareStatement) {
|
||||
client.setSoftwareStatement(softwareStatement);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
* @see org.mitre.oauth2.model.ClientDetailsEntity#getCodeChallengeMethod()
|
||||
*/
|
||||
public PKCEAlgorithm getCodeChallengeMethod() {
|
||||
return client.getCodeChallengeMethod();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param codeChallengeMethod
|
||||
* @see org.mitre.oauth2.model.ClientDetailsEntity#setCodeChallengeMethod(org.mitre.oauth2.model.PKCEAlgorithm)
|
||||
*/
|
||||
public void setCodeChallengeMethod(PKCEAlgorithm codeChallengeMethod) {
|
||||
client.setCodeChallengeMethod(codeChallengeMethod);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the src
|
||||
|
|
Loading…
Reference in New Issue