OpenAMClientRegistrationStore.java revision cecac354c250e765529594cfe77d8e398b8b4c22
/*
* The contents of this file are subject to the terms of the Common Development and
* Distribution License (the License). You may not use this file except in compliance with the
* License.
*
* You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
* specific language governing permission and limitations under the License.
*
* When distributing Covered Software, include this CDDL Header Notice in each file and include
* the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
* Header, with the fields enclosed by brackets [] replaced by your own identifying
* information: "Portions copyright [year] [name of copyright owner]".
*
* Copyright 2014-2015 ForgeRock AS.
* Portions Copyrighted 2015 Nomura Research Institute, Ltd
*/
/**
* The OpenAM OAuth2 and OpenId Connect provider's store for all client registrations.
*
* @since 12.0.0
*/
public class OpenAMClientRegistrationStore implements OpenIdConnectClientRegistrationStore {
private final RealmNormaliser realmNormaliser;
private final PEMDecoder pemDecoder;
private final OpenIdResolverService resolverService;
private final ClientAuthenticationFailureFactory failureFactory;
/**
* Constructs a new OpenAMClientRegistrationStore.
* @param realmNormaliser An instance of the RealmNormaliser.
* @param pemDecoder A {@code PEMDecoder} instance.
* @param failureFactory
*/
OAuth2ProviderSettingsFactory<RealmInfo> providerSettingsFactory, ClientAuthenticationFailureFactory failureFactory) {
this.realmNormaliser = realmNormaliser;
this.pemDecoder = pemDecoder;
this.resolverService = resolverService;
this.failureFactory = failureFactory;
}
/**
* {@inheritDoc}
*/
throws InvalidClientException, NotFoundException {
final String realm = realmNormaliser.normalise(request.<String>getParameter(OAuth2Constants.Custom.REALM));
return new OpenAMClientRegistration(getIdentity(clientId, realm, request), pemDecoder, resolverService,
}
/**
* {@inheritDoc}
*/
throws InvalidClientException, NotFoundException {
return new OpenAMClientRegistration(getIdentity(clientId, normalisedRealm), pemDecoder, resolverService,
}
}
@SuppressWarnings("unchecked")
private AMIdentity getIdentity(String uName, String realm, OAuth2Request request) throws InvalidClientException {
final AMIdentity theID;
try {
idsc.setRecursive(true);
idsc.setAllReturnAttributes(true);
// search for the identity
if (searchResults != null) {
}
}
//if the client is deactivated throw InvalidClientException
return theID;
} else {
}
} catch (SSOException e) {
} catch (IdRepoException e) {
}
}
}