Class GitHubAuthenticator

java.lang.Object
org.apache.ofbiz.passport.user.GitHubAuthenticator
All Implemented Interfaces:
Authenticator

public class GitHubAuthenticator extends Object implements Authenticator
GitHub OFBiz Authenticator
  • Field Details

  • Constructor Details

    • GitHubAuthenticator

      public GitHubAuthenticator()
  • Method Details

    • initialize

      public void initialize(LocalDispatcher dispatcher)
      Method called when authenticator is first initialized (the delegator object can be obtained from the LocalDispatcher)
      Specified by:
      initialize in interface Authenticator
      Parameters:
      dispatcher - The ServiceDispatcher to use for this Authenticator
    • authenticate

      public boolean authenticate(String userLoginId, String password, boolean isServiceAuth) throws AuthenticatorException
      Method to authenticate a user. For GitHub users, we only check if the username(userLoginId) exists an externalAuthId, and the externalAuthId has a valid accessToken in GitHubUser entity.
      Specified by:
      authenticate in interface Authenticator
      Parameters:
      userLoginId - User's login id
      password - User's password
      isServiceAuth - true if authentication is for a service call
      Returns:
      true if the user is authenticated
      Throws:
      AuthenticatorException - when a fatal error occurs during authentication
    • logout

      public void logout(String username) throws AuthenticatorException
      Logs a user out
      Specified by:
      logout in interface Authenticator
      Parameters:
      username - User's username
      Throws:
      AuthenticatorException - when logout fails
    • syncUser

      public void syncUser(String userLoginId) throws AuthenticatorException
      Reads user information and syncs it to OFBiz (i.e. UserLogin, Person, etc)
      Specified by:
      syncUser in interface Authenticator
      Parameters:
      userLoginId -
      Throws:
      AuthenticatorException - user synchronization fails
    • createUser

      public String createUser(Map<String,Object> userMap) throws AuthenticatorException
      Create user string.
      Parameters:
      userMap - the user map
      Returns:
      the string
      Throws:
      AuthenticatorException - the authenticator exception
    • updatePassword

      public void updatePassword(String username, String password, String newPassword) throws AuthenticatorException
      Updates a user's password.
      Specified by:
      updatePassword in interface Authenticator
      Parameters:
      username - User's username
      password - User's current password
      newPassword - User's new password
      Throws:
      AuthenticatorException - when update password fails
    • getWeight

      public float getWeight()
      Weight of this authenticator (lower weights are run first)
      Specified by:
      getWeight in interface Authenticator
      Returns:
      the weight of this Authenicator
    • isUserSynchronized

      public boolean isUserSynchronized()
      Is the user synchronzied back to OFBiz
      Specified by:
      isUserSynchronized in interface Authenticator
      Returns:
      true if the user record is copied to the OFB database
    • isSingleAuthenticator

      public boolean isSingleAuthenticator()
      Is this expected to be the only authenticator, if so errors will be thrown when users cannot be found
      Specified by:
      isSingleAuthenticator in interface Authenticator
      Returns:
      true if this is expected to be the only Authenticator
    • isEnabled

      public boolean isEnabled()
      Flag to test if this Authenticator is enabled
      Specified by:
      isEnabled in interface Authenticator
      Returns:
      true if the Authenticator is enabled
    • getUserInfo

      public static Map<String,Object> getUserInfo(org.apache.http.client.methods.HttpGet httpGet, String accessToken, String tokenType, Locale locale) throws AuthenticatorException
      Throws:
      AuthenticatorException