collective / collective/pas-plugins-identity

A federated login does not authenticate Classic UI

Open
#3 0 comments 0 reactions 1 assignee Claimed by @ericof View on GitHub
enhancement
Dominant language
Python
Stars
1
Forks
0
Avg merge
39m
Merged PRs (30d)
38

Description

## What happens

A federated login authenticates the REST API and Volto, and does **not** produce a session for Classic UI.

`core/services/callback/post.py` mints a `jwt_auth` token, and every request afterwards rides that token. There is no `__ac` cookie anywhere in the codebase, and Classic UI authenticates through `credentials_cookie_auth`.

## Why it matters

`pas.plugins.oidc` has a `create_ticket` setting for exactly this — it mints the Plone `__ac` cookie so a federated login works in Classic Plone. This package has no equivalent.

Nothing in `docs/` states a Volto-only scope, so the limitation is currently invisible to anybody reading the documentation.

Its counterpart needs nothing: minting the JWT is unconditional here, so `create_restapi_ticket` is permanently on by another name.

## Decide first, build second

This is a scope question rather than a feature request. Two ways out:

1. Implement the `__ac` ticket, so a federated login works in Classic UI.
2. State the Volto-only scope in the documentation.

It should not stay undocumented either way.

Found in a parity audit against `pas.plugins.oidc`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.