public ImplicitClient registerImplicitClient(URI loginRedirectURI,URI logoutRedirectURI) throws AuthException {
  try {
    OIDCTokens tokens=tokenHandler.getAdminServerAccessToken(user,password);
    OIDCClientDTO oidcClientDTO=registerClient(loginRedirectURI,loginRedirectURI,logoutRedirectURI);
    ClientID clientID=new ClientID(oidcClientDTO.getClientId());
    URI loginURI=buildAuthenticationRequestURI(clientID,loginRedirectURI);
    URI logoutURI=buildLogoutRequestURI(clientID,tokens.getClientIDToken(),logoutRedirectURI);
    return new ImplicitClient(oidcClientDTO.getClientId(),loginURI.toString(),logoutURI.toString());
  }
 catch (  Exception e) {
    throw new AuthException(String.format("Failed to register implicit client with loginRedirectURI %s and " + "logoutRedirectURI %s ",loginRedirectURI,logoutRedirectURI),e);
  }
}

public ImplicitClient registerImplicitClient ( URI loginRedirectURI , URI logoutRedirectURI ) throws AuthException { try { OIDCTokens tokens = tokenHandler . getAdminServerAccessToken ( user , password ) ; OIDCClientDTO oidcClientDTO = registerClient ( loginRedirectURI , loginRedirectURI , logoutRedirectURI ) ; ClientID clientID = new ClientID ( oidcClientDTO . getClientId ( ) ) ; URI loginURI = buildAuthenticationRequestURI ( clientID , loginRedirectURI ) ; URI logoutURI = buildLogoutRequestURI ( clientID , tokens . getClientIDToken ( ) , logoutRedirectURI ) ; return new ImplicitClient ( oidcClientDTO . getClientId ( ) , loginURI . toString ( ) , logoutURI . toString ( ) ) ; } catch ( Exception e ) { throw new AuthException ( String . format ( "Failed to register implicit client with loginRedirectURI %s and " + "logoutRedirectURI %s " , loginRedirectURI , logoutRedirectURI ) , e ) ; } }
register implicit client and retrieve login and logout uris .
