Skip to content

Expose Core's Auth State API to the plugins #55011

Description

@azasypkin

Currently Core stores authentication state (user information) returned from the http.registerAuth hook handler internally and hence it's not available to plugins even to the Security plugin that created the state.

It means that Security plugin should always do additional call to /_security/_authenticate if it wants to get currently authenticated user even though this information is already stored in the core, but just not available to us.

But more importantly during request authentication stage Security would like to store additional Kibana specific information that can't be retrieved from /_security/_authenticate afterwards, e.g. the name/type of the authentication provider that was used to authenticate request (needed for #49865 and potentially for #39313).

This type of information is already available through public Security API so we're not exposing anything extra here.

Ideally Security would like to have access to the state itself and whether or not request was successfully authenticated. That would help us to eliminate unnecessary back-end calls and pave the way to solving more use cases.

Activity

  1. elasticmachine commented on Jan 16, 2020

    @elasticmachine
    Contributor

    Pinging @elastic/kibana-security (Team:Security)

  2. elasticmachine commented on Jan 16, 2020

    @elasticmachine
    Contributor

    Pinging @elastic/kibana-platform (Team:Platform)

  3. self-assigned this
    on Jan 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Feature:New PlatformFeature:Security/AuthenticationPlatform Security - AuthenticationTeam:CorePlatform Core services: plugins, logging, config, saved objects, http, ES client, i18n, etc t//Team:SecurityPlatform Security: Auth, Users, Roles, Spaces, Audit Logging, etc t//blocker

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions