com.google.appengine.api.users

## Interface UserService

-     public interface UserService

  The UserService provides information useful for forcing a user to log in or out, and retrieving information about the user who is currently logged-in.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `createLoginURL(java.lang.String destinationURL)` Returns a URL that can be used to display a login page to the user.
    `java.lang.String` | `createLoginURL(java.lang.String destinationURL, java.lang.String authDomain)` Returns a URL that can be used to display a login page to the user.
    `java.lang.String` | `createLoginURL(java.lang.String destinationURL, java.lang.String authDomain, java.lang.String federatedIdentity, java.util.Set<java.lang.String> attributesRequest)` Deprecated. Use of federatedIdentity is no longer supported. Please change calls to a method that does not take the parameter.
    `java.lang.String` | `createLogoutURL(java.lang.String destinationURL)` Returns a URL that can be used to log the current user out of this app.
    `java.lang.String` | `createLogoutURL(java.lang.String destinationURL, java.lang.String authDomain)` Returns a URL that can be used to log the current user out of this app.
    `User` | `getCurrentUser()` If the user is logged in, this method will return a `User` that contains information about them.
    `boolean` | `isUserAdmin()` Returns true if the user making this request is an admin for this application, false otherwise.
    `boolean` | `isUserLoggedIn()` Returns true if there is a user logged in, false otherwise.

- - ### Method Detail

    - #### createLoginURL

          java.lang.String createLoginURL(java.lang.String destinationURL)

      Returns a URL that can be used to display a login page to the user.
      Parameters:
        `destinationURL` - where the user will be redirected after they log in.
      Returns:
        The URL that will present a login prompt.
      Throws:
        `java.lang.IllegalArgumentException` - If the destinationURL is not valid.

    - #### createLoginURL

          java.lang.String createLoginURL(java.lang.String destinationURL,
                                          java.lang.String authDomain)

      Returns a URL that can be used to display a login page to the user.
      Parameters:
        `destinationURL` - where the user will be redirected after they log in.
        `authDomain` - not used.
      Returns:
        The URL that will present a login prompt.
      Throws:
        `java.lang.IllegalArgumentException` - If the destinationURL is not valid.

    - #### createLoginURL

          @Deprecated
          java.lang.String createLoginURL(java.lang.String destinationURL,
                                                      java.lang.String authDomain,
                                                      java.lang.String federatedIdentity,
                                                      java.util.Set<java.lang.String> attributesRequest)

      Deprecated. Use of federatedIdentity is no longer supported. Please change calls to a method that does not take the parameter.
      Returns a URL that can be used to redirect the user to a third party for federated login.
      Parameters:
        `destinationURL` - where the user will be redirected after they log in.
        `authDomain` - not used.
        `federatedIdentity` - Setting this parameter to a non-null value will throw an IllegalArgumentException. OpenID 2.0 support has been decommissioned. Please see https://cloud.google.com/appengine/docs/deprecations/open_id for details.
        `attributesRequest` - not used.
      Returns:
        The URL that will present a login prompt.
      Throws:
        `java.lang.IllegalArgumentException` - If the destinationURL is not valid or if federatedIdentity is not null

    - #### createLogoutURL

          java.lang.String createLogoutURL(java.lang.String destinationURL)

      Returns a URL that can be used to log the current user out of this app.
      Parameters:
        `destinationURL` - where the user will be redirected after they log out.
      Returns:
        The URL that will log the user out.
      Throws:
        `java.lang.IllegalArgumentException` - If the destinationURL is not valid.

    - #### createLogoutURL

          java.lang.String createLogoutURL(java.lang.String destinationURL,
                                           java.lang.String authDomain)

      Returns a URL that can be used to log the current user out of this app.
      Parameters:
        `destinationURL` - where the user will be redirected after they log out.
        `authDomain` - not used.
      Returns:
        The URL that will log the user out.
      Throws:
        `java.lang.IllegalArgumentException` - If the destinationURL is not valid.

    - #### isUserLoggedIn

          boolean isUserLoggedIn()

      Returns true if there is a user logged in, false otherwise.

    - #### isUserAdmin

          boolean isUserAdmin()

      Returns true if the user making this request is an admin for this application, false otherwise.
      Throws:
        `java.lang.IllegalStateException` - If the current user is not logged in.

    - #### getCurrentUser

          User getCurrentUser()

      If the user is logged in, this method will return a `User` that contains information about them. Note that repeated calls may not necessarily return the same `User` object.
      Returns:
        User if the user is logged in, null otherwise.