Project

General

Profile

Actions

Bug #16913

closed

[controller] logout error in federation configuration with login controller

Added by Ward Vandewege over 3 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
-
Target version:
Story points:
-
Release relationship:
Auto

Description

Logged in as activated (admin) user on Tordo. Click "log out" on tordo:

https://tordo.arvadosapi.com/logout?return_to=https%3A%2F%2Fworkbench.tordo.arvadosapi.com%2F

{"errors":["configuration problem: exactly one of Login.Google, Login.OpenIDConnect, Login.SSO, Login.PAM, Login.LDAP, and Login.Test must be enabled"]}


Subtasks 1 (0 open1 closed)

Task #16917: Review 16913-logoutResolvedWard Vandewege09/28/2020Actions
Actions #1

Updated by Ward Vandewege over 3 years ago

  • Description updated (diff)
Actions #2

Updated by Peter Amstutz over 3 years ago

  • Assigned To set to Peter Amstutz
Actions #3

Updated by Peter Amstutz over 3 years ago

  1. Logout from workbench1 only clears cookies, it doesn't revoke the token.
  2. The Logout route in controller only sends you to the remote cluster if you provided a v2 token to be revoked
  3. Because no token is provided, it uses the "local" Connection which invokes errorLoginController.

As it happens, workbench never provides an API token to be revoked on log out. This makes the "logging out doesn't revoke tokens" long-standing behavior possible which enables users to copy their web session token into a shell.

We will tighten up this behavior. This is covered in #16520.

For the time being, the immediate solution is to include the case where LoginCluster is set, and provide a controller that returns noopLogout.

Actions #4

Updated by Peter Amstutz over 3 years ago

16913-logout @ arvados|7d91fe636e1ce09697fdff28b43e4020df041f17

developer-run-tests: #2123

  • Treat Login.LoginCluster as a distinct login method
  • federatedLoginController performs noopLogout() like most of the other methods (this fixes the original bug)
  • As a side effect, the configuration behavior has changed from "error if another method is not set" to "error if another method is set". Added a note in the upgrade notes.
Actions #5

Updated by Peter Amstutz over 3 years ago

  • Status changed from New to In Progress
Actions #6

Updated by Ward Vandewege over 3 years ago

LGTM thanks

Actions #7

Updated by Peter Amstutz over 3 years ago

  • Status changed from In Progress to Resolved
Actions #8

Updated by Peter Amstutz over 3 years ago

  • Release set to 25
Actions

Also available in: Atom PDF