https://github.com/theonestack/hl-component-cognito
Cfhighlander component for Cognito user pools, clients and custom domain names
https://github.com/theonestack/hl-component-cognito
cfhighlander cfhighlander-component cloudformation cognito cognito-identity cognito-user-pool
Last synced: about 2 months ago
JSON representation
Cfhighlander component for Cognito user pools, clients and custom domain names
- Host: GitHub
- URL: https://github.com/theonestack/hl-component-cognito
- Owner: theonestack
- License: mit
- Created: 2018-09-20T04:16:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-05-23T15:23:16.000Z (about 1 year ago)
- Last Synced: 2025-05-23T16:53:04.829Z (about 1 year ago)
- Topics: cfhighlander, cfhighlander-component, cloudformation, cognito, cognito-identity, cognito-user-pool
- Language: Ruby
- Size: 6.84 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

### Cfhighlander cognito component
Uses [cloudformation-custom-resources-js](https://github.com/base2Services/cloudformation-custom-resources-nodejs)
as a custom resource code for creating cognito clients and custom domain names.
```bash
# install highlander gem
$ gem install cfhighlander
# build and validate standalone component
$ cfcompile --validate cognito
```
### Usage
Creates Cognito UserPools. Allows adding User pool clients and custom domain name. Note that
this functionality is not supported natively via CloudFormation, and is implemented through
custom resources. Consume component with `Component 'cognito'` in your cfhiglhander template for default behaviour.
Read more on [cfhighlander page](https://github.com/theonestack/cfhighlander) on consuming, extending and inlining components.
### Configuration options
Look at `cognito.config.yaml` for format of configuration file
- `pool_name` - Explicit Cognito UserPool name
- `user_schema` - Defines user attributes.
- `groups` - Create UserGroups alongside with the pool. Allows defining name and description
- `clients` - Cognito OAuth clients to authorize against the pool. Look at `default_client` section
of the config file for required structure
- `domain_name` - Custom domain name for authentication over the web on `https://${domain_name}.auth.${aws_region}.amazoncognito.com` url
- `ccr` - Required for custom resources to be rendered. Do **NOT** alter this configuration value
### Parameters
NONE
### Outputs
`UserPoolId` - PoolId
`UserPoolArn` - Pool Amazon Resource Name (ARN)
`UserPoolProviderURL` - Provider URL
`UserPoolProviderName` - Provider Name
`PoolDomainUrl` - *(Optional)* if custom domain name is set, this will render the full url
`PoolDomainName`- *(Optional)* if custom domain name is set, this will render the domain name
`PoolClient${clietNname}Id` - *(Optional)* client id for every defined client
`PoolClient${clietNname}Secret` - *(Optional)* if client secret is configured on defined client