# Apache-OpenID use-cases

- Remove cookies on logout
- Simple OpenID authentication
- OpenID Provider (OP) options
- Redirect to external site after logout
- Authentication based on Launchpad team membership

## Remove cookies on logout

Because most web applications store authentication details in cookies, it is useful to have an option to remove them on logout.

    PythonOption external-cookie-names /apache_openid/cookie/:openidcookie

Test here

## Simple OpenID authentication

Authentication is allowed only for certain users.

### Inline option

    PythonOption authorized-users "%(authorized_users)s"

Test here

### URL

    PythonOption authorized-users-list-url file:///tmp/apache_openid/examples/openid/openids.txt

Contents of openids.txt:

    %(authorized_users_lines)s

Test here

## OpenID Provider (OP) options

### No provider configured

The simple OpenID authentication use-cases have no OPs configured, so you can enter any OpenID URLs on authentication.

### One provider configured

If only one OP is configured, the authentication mechanism automatically redirects the user to that OP, so the whole process will be faster.

    PythonOption allowed-op-list-url file:///var/www/apache_openid/ops/op-launchpad.txt

Contents of op-launchpad.txt:

    Launchpad=login.launchpad.net

Test here

### Several providers configured

As the first step of the authentication process, a drop-down box is shown, where you can select through which provider you'd like to authenticate.

    PythonOption allowed-op-list-url file:///var/www/apache_openid/ops/op-list.txt

Contents of op-list.txt:

    Launchpad=login.launchpad.net
    MyOpenID=myopenid.com

Test here

## Redirect to external site after logout

By default a static page is displayed after logging out. However, it's possible to configure an URL where the user will be redirected after logging out.

    PythonOption external-logout-url http://www.ubuntu.com/

Test here

## Authentication based on Launchpad team membership

### Inline option

    PythonOption authorized-teams "%(authorized_teams)s"

Test here

### URL

    PythonOption authorized-teams-list-url file:///var/www/apache_openid/teams/teams.txt

Contents of teams.txt:

    %(authorized_teams_lines)s

Test here