Notice: Over the next few months, we're reorganizing the App Engine documentation site to make it easier to find content and better align with the rest of Google Cloud products. The same content will be available, but the navigation will now match the rest of the Cloud products. If you have feedback or questions as you navigate the site, click Send Feedback.

As PHP version 5.5 is no longer supported by the community, we strongly recommend new apps use the PHP 7+ runtime.

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.