Skip to content
This repository has been archived by the owner on Jul 10, 2021. It is now read-only.

docs(OAuth2):added guide for aws cognito #2017

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions setup/security/authentication/oauth/cognito/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: "AWS Cognito"
sidebar:
nav: setup
---

This page instructs you on how to obtain an OAuth 2.0 client ID and client secret for
use with your AWS Cognito User Pools.

## Setting up an AWS Cognito App Client

1. Navigate to [https://aws.amazon.com/cognito/](https://aws.amazon.com/cognito/) and log in with your AWS credentials.
2. Search for Cognito in the search bar.
3. Select the user pools you want Spinnaker to use.
4. At the side bar under "General settings", select "App clients", add a client.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
4. At the side bar under "General settings", select "App clients", add a client.
4. At the side bar under **General settings**, select **App clients**, add a client.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry, @joetancy, I should have done this the last time I looked at this. Can you change all UI elements to be in boldface instead of double-quotes? Thanks!

https://developers.google.com/style/ui-elements

- Make sure you select "Generate client secret."
5. After that go to "App integration", then to "App client settings."
- Select "Cognito User Pool" as one of the "Enabled Identity Providers."
- Input your callback URL.
- Check the following
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- Check the following
- Check the following:

- Authorization code grant, Implicit grant
- email, openid
- Also make sure you already have a domain name for your hosted UI
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- Also make sure you already have a domain name for your hosted UI
- Also make sure you already have a domain name for your hosted UI.


Have these credentials ready before moving on to the next step
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Have these credentials ready before moving on to the next step
Have these credentials ready before moving on to the next step:

- App client id
- App client secret
- Hosted UI domain name

## Configure Halyard

You can configure Halyard either with the [CLI](/reference/halyard/commands/) or by manually editing the hal config.

### Hal config

```yaml
security:
authn:
oauth2:
enabled: true
client:
clientId: {CLIENT_ID}
clientSecret: {CLIENT_SECRET}
accessTokenUri: {YOUR_DOMAIN_NAME}/oauth2/token
userAuthorizationUri: {YOUR_DOMAIN_NAME}/oauth2/authorize
preEstablishedRedirectUri: {GATE_URL}/login
useCurrentUri: false
resource:
userInfoUri: {YOUR_DOMAIN_NAME}/oauth2/userInfo
userInfoMapping: {}
provider: OTHER
```

### CLI

1. Set up OAuth 2.0 with AWS Cognito:

`hal config security authn oauth2 edit --provider OTHER --client-id (client ID from above) --client-secret (client secret from above) --access-token-uri (your domain name)/oauth2/token --user-authorization-uri (your domain name)/oauth2/authorize --user-info-uri (your domain name)/oauth2/userInfo`

2. Enable OAuth 2.0 using:

`hal config security authn oauth2 enable`