Interface ClientProvider

All Superinterfaces:
ClientLookupProvider, Provider
All Known Subinterfaces:
CacheRealmProvider
All Known Implementing Classes:
ClientStorageManager, JpaRealmProvider, RealmCacheSession

public interface ClientProvider extends ClientLookupProvider, Provider
Provider of the client records.
Version:
$Revision: 1 $
Author:
Bill Burke
  • Method Details

    • getClientsStream

      Stream<ClientModel> getClientsStream(RealmModel realm, Integer firstResult, Integer maxResults)
      Returns the clients of the given realm as a stream.
      Parameters:
      realm - Realm.
      firstResult - First result to return. Ignored if negative or null.
      maxResults - Maximum number of results to return. Ignored if negative or null.
      Returns:
      Stream of the clients. Never returns null.
    • getClientsStream

      default Stream<ClientModel> getClientsStream(RealmModel realm)
      Returns all the clients of the given realm as a stream. Effectively the same as the call getClientsStream(realm, null, null).
      Parameters:
      realm - Realm.
      Returns:
      Stream of the clients. Never returns null.
    • addClient

      default ClientModel addClient(RealmModel realm, String clientId)
      Adds a client with given clientId to the given realm. The internal ID of the client will be created automatically.
      Parameters:
      realm - Realm owning this client.
      clientId - String that identifies the client to the external parties. Maps to client_id in OIDC or entityID in SAML.
      Returns:
      Model of the created client.
    • addClient

      ClientModel addClient(RealmModel realm, String id, String clientId)
      Adds a client with given internal ID and clientId to the given realm.
      Parameters:
      realm - Realm owning this client.
      id - Internal ID of the client or null if one is to be created by the underlying store
      clientId - String that identifies the client to the external parties. Maps to client_id in OIDC or entityID in SAML.
      Returns:
      Model of the created client.
      Throws:
      IllegalArgumentException - If id does not conform the format understood by the underlying store.
    • getClientsCount

      long getClientsCount(RealmModel realm)
      Returns number of clients in the given realm
      Parameters:
      realm - Realm.
      Returns:
      Number of the clients in the given realm.
    • getAlwaysDisplayInConsoleClientsStream

      Stream<ClientModel> getAlwaysDisplayInConsoleClientsStream(RealmModel realm)
      Returns a stream of clients that are expected to always show up in account console.
      Parameters:
      realm - Realm owning the clients.
      Returns:
      Stream of the clients. Never returns null.
    • removeClient

      boolean removeClient(RealmModel realm, String id)
      Removes given client from the given realm.
      Parameters:
      realm - Realm.
      id - Internal ID of the client
      Returns:
      true if the client existed and has been removed, false otherwise.
    • removeClients

      void removeClients(RealmModel realm)
      Removes all clients from the given realm.
      Parameters:
      realm - Realm.
    • addClientScopes

      void addClientScopes(RealmModel realm, ClientModel client, Set<ClientScopeModel> clientScopes, boolean defaultScope)
      Assign clientScopes to the client. Add as default scopes (if parameter 'defaultScope' is true) or optional scopes (if parameter 'defaultScope' is false)
      Parameters:
      realm - Realm.
      client - Client.
      clientScopes - to be assigned
      defaultScope - if true the scopes are assigned as default, or optional in case of false
    • removeClientScope

      void removeClientScope(RealmModel realm, ClientModel client, ClientScopeModel clientScope)
      Unassign clientScope from the client.
      Parameters:
      realm - Realm.
      client - Client.
      clientScope - to be unassigned
    • addClientScopeToAllClients

      void addClientScopeToAllClients(RealmModel realm, ClientScopeModel clientScope, boolean defaultClientScope)
      Add specified client scope to all non bearer-only clients in the realm, which have same protocol as specified client scope. Method may be used just for new client scopes, which are not yet assigned to any clients as if specified clientScope is already assigned to some client, there might be issues related to duplicate entries.
      Parameters:
      realm - Realm
      clientScope - client scope from the specified realm, which would be added to all clients
      defaultClientScope - If true, then it will be added as "default" client scope. If false, then it will be added as "optional" client scope
    • getAllRedirectUrisOfEnabledClients

      @Deprecated Map<ClientModel,Set<String>> getAllRedirectUrisOfEnabledClients(RealmModel realm)
      Deprecated.
      Do not use, this is only to support a deprecated logout endpoint and will vanish with it's removal
      Returns a map of (rootUrl, {validRedirectUris}) for all enabled clients.
      Parameters:
      realm -
      Returns: