Skip to content

Conversation

@jkakavas
Copy link
Contributor

This change adds an API for generating SAML metadata for the
configured Identity Provider. All parameters that can contribute
to the metadata, from signing keys to Organization and contact
details are all configured in node settings.
The caller of the API needs to define the SP that will consume this
metadata as the values included can potentially be different,
depending on the registered SP configuration and the IDP policy.

This doesn't actually really depend, but builds upon #52018 to reduce duplication of effort, so it should be reviewed once that is merged.

- Expose an API that consumes (possibly signed) AuthnRequests as
defined by the HTTP-Redirect binding.
- Process AuthnRequests, validate and parse them into a minimum
set of information to be used for subsequent API calls to get a
SAML Response
This change adds an API for generating SAML metadata for the
configured Identity Provider. All parameters that can contribute
to the metadata, from signing keys to Organization and contact
details are all configured in node settings.
The caller of the API needs to define the SP that will consume this
metadata as the values included can potentially be different,
depending on the registered SP configuration and the IDP policy.
@jkakavas jkakavas added the :Security/Security Security issues without another label label Feb 17, 2020
@jkakavas jkakavas requested a review from tvernum February 17, 2020 14:12
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-security (:Security/Security)


import static org.elasticsearch.rest.RestRequest.Method.GET;

public class RestSamlMetadataRequestAction extends BaseRestHandler {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would call this either

Suggested change
public class RestSamlMetadataRequestAction extends BaseRestHandler {
public class RestGetSamlMetadataAction extends BaseRestHandler {

or

Suggested change
public class RestSamlMetadataRequestAction extends BaseRestHandler {
public class RestSamlMetadataAction extends BaseRestHandler {


@Override
public String getName() {
return "saml_idp_generate_metadata";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd probably change this name, based on what you decide to call the class.

@tvernum
Copy link
Contributor

tvernum commented Feb 28, 2020

GitHub/Jenkins seems to have lost the CI results.

@elasticmachine test this please

@Override
public String getName() {
return "saml_idp_generate_metadata";
return "saml_metadata";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tiny nit, our names typically end in _action.
TBH I don't know why - it's already obvious it's an action.

@jkakavas
Copy link
Contributor Author

@elasticmachine update branch

@jkakavas jkakavas merged commit 4bc8370 into elastic:feature-internal-idp Feb 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Security/Security Security issues without another label v7.11.0 v8.0.0-alpha1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants