added extra client fields to DB model, moved services to use new client model object
parent
3f8d7d70e5
commit
5c044b9eff
|
@ -18,6 +18,7 @@
|
||||||
*/
|
*/
|
||||||
package org.mitre.oauth2.model;
|
package org.mitre.oauth2.model;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -118,7 +119,7 @@ public class ClientDetailsEntity implements ClientDetails {
|
||||||
private boolean dynamicallyRegistered = false; // was this client dynamically registered?
|
private boolean dynamicallyRegistered = false; // was this client dynamically registered?
|
||||||
private boolean allowIntrospection = false; // do we let this client call the introspection endpoint?
|
private boolean allowIntrospection = false; // do we let this client call the introspection endpoint?
|
||||||
private Integer idTokenValiditySeconds; //timeout for id tokens
|
private Integer idTokenValiditySeconds; //timeout for id tokens
|
||||||
|
private Date createdAt; // time the client was created
|
||||||
|
|
||||||
public enum AuthMethod {
|
public enum AuthMethod {
|
||||||
SECRET_POST("client_secret_post"),
|
SECRET_POST("client_secret_post"),
|
||||||
|
@ -850,4 +851,18 @@ public class ClientDetailsEntity implements ClientDetails {
|
||||||
this.requestUris = requestUris;
|
this.requestUris = requestUris;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the createdAt
|
||||||
|
*/
|
||||||
|
public Date getCreatedAt() {
|
||||||
|
return createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdAt the createdAt to set
|
||||||
|
*/
|
||||||
|
public void setCreatedAt(Date createdAt) {
|
||||||
|
this.createdAt = createdAt;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,12 +170,12 @@ public class ConnectAuthorizationRequestManager implements AuthorizationRequestM
|
||||||
|
|
||||||
ClientDetailsEntity client = clientDetailsService.loadClientByClientId(clientId);
|
ClientDetailsEntity client = clientDetailsService.loadClientByClientId(clientId);
|
||||||
|
|
||||||
if (client.getJwkUrl() == null) {
|
if (client.getJwksUri() == null) {
|
||||||
throw new InvalidClientException("Client must have a JWK URI registered to use request objects.");
|
throw new InvalidClientException("Client must have a JWK URI registered to use request objects.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// check JWT signature
|
// check JWT signature
|
||||||
JwtSigningAndValidationService validator = validators.get(client.getJwkUrl());
|
JwtSigningAndValidationService validator = validators.get(client.getJwksUri());
|
||||||
if (validator == null) {
|
if (validator == null) {
|
||||||
throw new InvalidClientException("Client must have a JWK URI registered to use request objects.");
|
throw new InvalidClientException("Client must have a JWK URI registered to use request objects.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ public class JwtBearerAuthenticationProvider implements AuthenticationProvider {
|
||||||
// check the signature with nimbus
|
// check the signature with nimbus
|
||||||
if (jwt instanceof SignedJWT) {
|
if (jwt instanceof SignedJWT) {
|
||||||
SignedJWT jws = (SignedJWT)jwt;
|
SignedJWT jws = (SignedJWT)jwt;
|
||||||
JwtSigningAndValidationService validator = validators.get(client.getJwkUrl());
|
JwtSigningAndValidationService validator = validators.get(client.getJwksUri());
|
||||||
if (validator == null || !validator.validateSignature(jws)) {
|
if (validator == null || !validator.validateSignature(jws)) {
|
||||||
throw new AuthenticationServiceException("Invalid signature");
|
throw new AuthenticationServiceException("Invalid signature");
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,15 +109,27 @@ CREATE TABLE IF NOT EXISTS client_details (
|
||||||
|
|
||||||
default_max_age BIGINT,
|
default_max_age BIGINT,
|
||||||
require_auth_time BOOLEAN NOT NULL DEFAULT FALSE,
|
require_auth_time BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
default_acr VARCHAR(256)
|
created_at TIMESTAMP,
|
||||||
|
initiate_login_uri VARCHAR(2048),
|
||||||
|
post_logout_redirect_uri VARCHAR(2048)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS client_request_uri (
|
||||||
|
owner_id BIGINT,
|
||||||
|
request_uri VARCHAR(2000)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS client_default_acr_value (
|
||||||
|
owner_id BIGINT,
|
||||||
|
default_acr_value VARCHAR(2000)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS client_nonce (
|
CREATE TABLE IF NOT EXISTS client_nonce (
|
||||||
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
|
||||||
value VARCHAR(256),
|
value VARCHAR(256),
|
||||||
client_id VARCHAR(256),
|
client_id VARCHAR(256),
|
||||||
use_date DATE,
|
use_date TIMESTAMP,
|
||||||
expire_date DATE
|
expire_date TIMESTAMP
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS client_contact (
|
CREATE TABLE IF NOT EXISTS client_contact (
|
||||||
|
|
|
@ -109,15 +109,27 @@ CREATE TABLE IF NOT EXISTS client_details (
|
||||||
|
|
||||||
default_max_age BIGINT,
|
default_max_age BIGINT,
|
||||||
require_auth_time BOOLEAN NOT NULL DEFAULT 0,
|
require_auth_time BOOLEAN NOT NULL DEFAULT 0,
|
||||||
default_acr VARCHAR(256)
|
created_at TIMESTAMP NULL,
|
||||||
|
initiate_login_uri VARCHAR(2048),
|
||||||
|
post_logout_redirect_uri VARCHAR(2048)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS client_request_uri (
|
||||||
|
owner_id BIGINT,
|
||||||
|
request_uri VARCHAR(2000)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS client_default_acr_value (
|
||||||
|
owner_id BIGINT,
|
||||||
|
default_acr_value VARCHAR(2000)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS client_nonce (
|
CREATE TABLE IF NOT EXISTS client_nonce (
|
||||||
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
||||||
value VARCHAR(256),
|
value VARCHAR(256),
|
||||||
client_id VARCHAR(256),
|
client_id VARCHAR(256),
|
||||||
use_date DATE,
|
use_date TIMESTAMP NULL,
|
||||||
expire_date DATE
|
expire_date TIMESTAMP NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS client_contact (
|
CREATE TABLE IF NOT EXISTS client_contact (
|
||||||
|
|
Loading…
Reference in New Issue