Class GitHubAuthenticator

  • All Implemented Interfaces:
    Authenticator

    public class GitHubAuthenticator
    extends java.lang.Object
    implements Authenticator
    GitHub OFBiz Authenticator
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean authenticate​(java.lang.String userLoginId, java.lang.String password, boolean isServiceAuth)
      Method to authenticate a user.
      java.lang.String createUser​(java.util.Map<java.lang.String,​java.lang.Object> userMap)  
      static java.util.Map<java.lang.String,​java.lang.Object> getUserInfo​(org.apache.http.client.methods.HttpGet httpGet, java.lang.String accessToken, java.lang.String tokenType, java.util.Locale locale)  
      float getWeight()
      Weight of this authenticator (lower weights are run first)
      void initialize​(LocalDispatcher dispatcher)
      Method called when authenticator is first initialized (the delegator object can be obtained from the LocalDispatcher)
      boolean isEnabled()
      Flag to test if this Authenticator is enabled
      boolean isSingleAuthenticator()
      Is this expected to be the only authenticator, if so errors will be thrown when users cannot be found
      boolean isUserSynchronized()
      Is the user synchronzied back to OFBiz
      void logout​(java.lang.String username)
      Logs a user out
      void syncUser​(java.lang.String userLoginId)
      Reads user information and syncs it to OFBiz (i.e.
      void updatePassword​(java.lang.String username, java.lang.String password, java.lang.String newPassword)
      Updates a user's password.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GitHubAuthenticator

        public GitHubAuthenticator()
    • Method Detail

      • 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​(java.lang.String userLoginId,
                                    java.lang.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
      • updatePassword

        public void updatePassword​(java.lang.String username,
                                   java.lang.String password,
                                   java.lang.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 java.util.Map<java.lang.String,​java.lang.Object> getUserInfo​(org.apache.http.client.methods.HttpGet httpGet,
                                                                                         java.lang.String accessToken,
                                                                                         java.lang.String tokenType,
                                                                                         java.util.Locale locale)
                                                                                  throws AuthenticatorException
        Throws:
        AuthenticatorException