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 1 commit
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/](https://aws.amazon.com/) and log in with your AWS credentials.
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we link directly to the Cognito page?

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.

- Make sure you select "Generate client secret"
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
- Make sure you select "Generate client secret"
- Make sure you select "Generate client secret."

5. After that go to "App integration", then to "App client settings"
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
5. After that go to "App integration", then to "App client settings"
5. After that go to "App integration," then to "App client settings."

- Select "Cognito User Pool" as one of the "Enabled Identity Providers"
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
- Select "Cognito User Pool" as one of the "Enabled Identity Providers"
- Select "Cognito User Pool" as one of the "Enabled Identity Providers."

Copy link
Contributor

Choose a reason for hiding this comment

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

This one, and the ones following, should probably be numbered instead of sub-bullets. They're just further steps, right? (The two items under "Check the following" are ok as bullets though, of course.

- Input your callback url
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
- Input your callback url
- Input your callback URL.

Copy link
Contributor

Choose a reason for hiding this comment

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

Periods for all these that are complete sentences.

- Check the following
- Authorization code grant, Implicit grant
- email, openid
- Also make sure you already have a domain name for your hosted UI

You should 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
You should 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 may configure Halyard either with the CLI or by manually editing the hal config.
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
You may configure Halyard either with the CLI or by manually editing the hal config.
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

Set up OAuth 2.0 with AWS Cognito:
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
Set up OAuth 2.0 with AWS Cognito:
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`

Now enable OAuth 2.0 using hal:
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
Now enable OAuth 2.0 using hal:
Enable OAuth 2.0:


`hal config security authn oauth2 enable`