Login URLs

The Users API provides functions for constructing URLs that allow the user to sign in or sign out, then be redirected back to your application.

UserService::createLoginUrl() and UserService::createLogoutUrl() each take a destination URL for the application, and return a URL for signing in or signing out that redirects back to the given URL afterward.

use google\appengine\api\users\User;
use google\appengine\api\users\UserService;

$user = UserService::getCurrentUser();
if (isset($user)) {
  echo sprintf('Welcome, %s! (<a href="%s">sign out</a>)',
} else {
  echo sprintf('<a href="%s">Sign in or register</a>',

The development web server simulates Google Accounts using its own sign-in and sign-out facilities. When you sign in to your application on the development web server, the server prompts you for an email address to use for the session. See The Development Web Server for more information.

Tip: An easy way to restrict access to a part of your application to signed in users is to use the login: required configuration element for the URL handler. See Configuring an App.