Package tigase.db
Interface AuthRepository
-
- All Superinterfaces:
Repository
- All Known Implementing Classes:
AbstractAuthRepositoryWithCredentials
,AuthRepositoryImpl
,AuthRepositoryMDImpl
,AuthRepositoryMDPoolBean
,AuthRepositoryPool
,DrupalWPAuth
,DummyRepository
,JDBCRepository
,LdapAuthProvider
,TigaseAuth
,TigaseCustomAuth
,TigaseSPAuth
,XMLRepository
public interface AuthRepository extends Repository
InterfaceAuthRepository
defines a proxy bridge between user authentication data storage and the Tigase server authentication logic. Important thing about the authentication repository is that it not only stores login credentials but also performs actual user authentication. This is because available authentication mechanisms depend on the way data are stored in the repository (database).
Created: Sun Nov 5 21:15:46 2006- Author:
- Artur Hefczyc
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
AuthRepository.AccountStatus
static class
AuthRepository.DefaultCredentials
static class
AuthRepository.SingleCredential
-
Nested classes/interfaces inherited from interface tigase.db.Repository
Repository.Meta, Repository.SchemaId
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DATA_KEY
Property key name forotherAuth
method call.static java.lang.String
DIGEST_ID_KEY
static java.lang.String
DIGEST_KEY
static java.lang.String
MACHANISM_KEY
Property key name forotherAuth
method call.static java.lang.String
PASSWORD_KEY
static java.lang.String
PROTOCOL_KEY
Property key name forotherAuth
method call.static java.lang.String
PROTOCOL_VAL_NONSASL
Property value forotherAuth
method call.static java.lang.String
PROTOCOL_VAL_SASL
Property value forotherAuth
method call.static java.lang.String
REALM_KEY
Property key name forotherAuth
method call.static java.lang.String
RESULT_KEY
Property key name forotherAuth
method call.static java.lang.String
SERVER_NAME_KEY
Property key name forotherAuth
method call.static java.lang.String
USER_ID_KEY
Property key name forotherAuth
method call.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description void
addUser(BareJID user, java.lang.String password)
AuthRepository.AccountStatus
getAccountStatus(BareJID user)
default java.util.Collection<java.lang.String>
getCredentialIds(BareJID user)
default Credentials
getCredentials(BareJID user, java.lang.String credentialId)
java.lang.String
getPassword(BareJID user)
Deprecated.java.lang.String
getResourceUri()
getResourceUri
method returns database connection string.default java.util.Collection<java.lang.String>
getUsernames(BareJID user)
Deprecated.long
getUsersCount()
This method is only used by the server statistics component to report number of registered users.long
getUsersCount(java.lang.String domain)
This method is only used by the server statistics component to report number of registered users for given domain.default boolean
isMechanismSupported(java.lang.String domain, java.lang.String mechanism)
default boolean
isUserDisabled(BareJID user)
Deprecated.void
loggedIn(BareJID jid)
Do some actions on repository, when user logs in.void
logout(BareJID user)
boolean
otherAuth(java.util.Map<java.lang.String,java.lang.Object> authProps)
Deprecated.void
queryAuth(java.util.Map<java.lang.String,java.lang.Object> authProps)
Deprecated.default void
removeCredential(BareJID user, java.lang.String credentialId)
void
removeUser(BareJID user)
void
setAccountStatus(BareJID user, AuthRepository.AccountStatus status)
default void
setCredentialsCodecs(CredentialsEncoderBean encoder, CredentialsDecoderBean decoder)
default void
setUserDisabled(BareJID user, java.lang.Boolean value)
Deprecated.default void
updateCredential(BareJID user, java.lang.String credentialId, java.lang.String password)
void
updatePassword(BareJID user, java.lang.String password)
Deprecated.-
Methods inherited from interface tigase.db.Repository
initRepository
-
-
-
-
Field Detail
-
DATA_KEY
static final java.lang.String DATA_KEY
Property key name forotherAuth
method call. It is used to provide an extra authentication data by the client to the authentication logic. Please note theRESULT_KEY
property key is used to provide authentication data from the server to the client. This property is used to provide authentication data from the client to the server.- See Also:
- Constant Field Values
-
DIGEST_ID_KEY
static final java.lang.String DIGEST_ID_KEY
- See Also:
- Constant Field Values
-
DIGEST_KEY
static final java.lang.String DIGEST_KEY
- See Also:
- Constant Field Values
-
MACHANISM_KEY
static final java.lang.String MACHANISM_KEY
Property key name forotherAuth
method call. It is used to provide desired authentication mechanism to the authentication logic.- See Also:
- Constant Field Values
-
PASSWORD_KEY
static final java.lang.String PASSWORD_KEY
- See Also:
- Constant Field Values
-
PROTOCOL_KEY
static final java.lang.String PROTOCOL_KEY
Property key name forotherAuth
method call. It is used to provide desired authentication protocol to the authentication logic.- See Also:
- Constant Field Values
-
PROTOCOL_VAL_NONSASL
static final java.lang.String PROTOCOL_VAL_NONSASL
Property value forotherAuth
method call. It is used to provide desired authentication NON-SASL protocol to the authentication logic.- See Also:
- Constant Field Values
-
PROTOCOL_VAL_SASL
static final java.lang.String PROTOCOL_VAL_SASL
Property value forotherAuth
method call. It is used to provide desired authentication SASL protocol to the authentication logic.- See Also:
- Constant Field Values
-
REALM_KEY
static final java.lang.String REALM_KEY
Property key name forotherAuth
method call. It is used to provide authentication realm to the authentication logic. In most cases, the realm is just a domain name.- See Also:
- Constant Field Values
-
RESULT_KEY
static final java.lang.String RESULT_KEY
Property key name forotherAuth
method call. It is used to provide authentication handshaking data during login process. Some authentication mechanisms require exchanging requests between the client and the server. This property key points back to the data which need to be sent back to the client.- See Also:
- Constant Field Values
-
SERVER_NAME_KEY
static final java.lang.String SERVER_NAME_KEY
Property key name forotherAuth
method call. It is used to provide authentication domain to the authentication logic. It is highly recommended that this property is always set, even if the authentication protocol/mechanism does not need it strictly.- See Also:
- Constant Field Values
-
USER_ID_KEY
static final java.lang.String USER_ID_KEY
Property key name forotherAuth
method call. It is used to provide a user ID on successful user login. Please note, the key points to the object ofBareJID
type.- See Also:
- Constant Field Values
-
-
Method Detail
-
addUser
void addUser(BareJID user, java.lang.String password) throws TigaseDBException
- Throws:
TigaseDBException
-
getAccountStatus
AuthRepository.AccountStatus getAccountStatus(BareJID user) throws TigaseDBException
- Throws:
TigaseDBException
-
getCredentials
default Credentials getCredentials(BareJID user, java.lang.String credentialId) throws TigaseDBException
- Throws:
TigaseDBException
-
getPassword
@Deprecated java.lang.String getPassword(BareJID user) throws TigaseDBException
Deprecated.- Throws:
TigaseDBException
-
getResourceUri
java.lang.String getResourceUri()
getResourceUri
method returns database connection string.- Returns:
- a
String
value of database connection string.
-
getCredentialIds
default java.util.Collection<java.lang.String> getCredentialIds(BareJID user) throws TigaseDBException
- Throws:
TigaseDBException
-
getUsernames
@Deprecated default java.util.Collection<java.lang.String> getUsernames(BareJID user) throws TigaseDBException
Deprecated.- Throws:
TigaseDBException
-
getUsersCount
long getUsersCount()
This method is only used by the server statistics component to report number of registered users.- Returns:
- a
long
number of registered users in the repository.
-
getUsersCount
long getUsersCount(java.lang.String domain)
This method is only used by the server statistics component to report number of registered users for given domain.- Parameters:
domain
- for which get the statistics- Returns:
- a
long
number of registered users in the repository.
-
isMechanismSupported
default boolean isMechanismSupported(java.lang.String domain, java.lang.String mechanism)
-
isUserDisabled
@Deprecated default boolean isUserDisabled(BareJID user) throws TigaseDBException
Deprecated.- Throws:
TigaseDBException
-
loggedIn
void loggedIn(BareJID jid) throws TigaseDBException
Do some actions on repository, when user logs in. (for example updatelast_login_time
)- Parameters:
jid
- JID of logged user.- Throws:
TigaseDBException
- if an error occurs
-
logout
void logout(BareJID user) throws TigaseDBException
- Throws:
TigaseDBException
-
otherAuth
@Deprecated boolean otherAuth(java.util.Map<java.lang.String,java.lang.Object> authProps) throws TigaseDBException, AuthorizationException
Deprecated.
-
queryAuth
@Deprecated void queryAuth(java.util.Map<java.lang.String,java.lang.Object> authProps)
Deprecated.queryAuth
returns mechanisms available for authentication.- Parameters:
authProps
- aMap
value with parameters for authentication.
-
removeCredential
default void removeCredential(BareJID user, java.lang.String credentialId) throws TigaseDBException
- Throws:
TigaseDBException
-
removeUser
void removeUser(BareJID user) throws TigaseDBException
- Throws:
TigaseDBException
-
setAccountStatus
void setAccountStatus(BareJID user, AuthRepository.AccountStatus status) throws TigaseDBException
- Throws:
TigaseDBException
-
setCredentialsCodecs
default void setCredentialsCodecs(CredentialsEncoderBean encoder, CredentialsDecoderBean decoder)
-
setUserDisabled
@Deprecated default void setUserDisabled(BareJID user, java.lang.Boolean value) throws TigaseDBException
Deprecated.- Throws:
TigaseDBException
-
updateCredential
default void updateCredential(BareJID user, java.lang.String credentialId, java.lang.String password) throws TigaseDBException
- Throws:
TigaseDBException
-
updatePassword
@Deprecated void updatePassword(BareJID user, java.lang.String password) throws TigaseDBException
Deprecated.- Throws:
TigaseDBException
-
-