aws-oidc-broker


Nameaws-oidc-broker JSON
Version 0.1.0 PyPI version JSON
download
home_page
Summary
upload_time2023-02-10 18:46:27
maintainer
docs_urlNone
authorRishang
requires_python>=3.8
license
keywords packaging poetry
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # AWS OpenID Credential Broker

OpenID Based Identity Credential Broker for AWS (Built as an alternative to AWS SSO to support OpenID Federation)

![demo image](.github/images/panel.png)


## Broker authentication flow 

```mermaid
sequenceDiagram;

participant User;
participant Broker;
participant IDP;
participant AWS;

User -->> Broker: Login via IDP
Broker -->> IDP: Forward Auth Request
IDP -->> Broker: IDP Login Successful
User -->> Broker: Open AWS Console
Broker -->> AWS: Request Session
AWS -->> Broker: Login Successfull
Broker -->> Browser: Open AWS Console
```

## Getting Started

Quick Start with docker compose

```bash
docker-compose up -d
```

### Prerequisites

- python3
- virtualenv
- docker
- docker-compose


### Installing

A step by step series of examples that tell you how to get a development env running

Clone the Project 

```bash
git clone https://github.com/Rishang/aws-oidc-broker.git
```

Initialzing virtualenv

```bash
cd aws-oidc-broker
python -m venv venv
source ./venv/bin/activate
```

Installing Dependencies

```bash
pip install -r requirements.txt
```

Configure .env file or perform export of those variables

```bash
cp .env.example .env
```

Configure environment variables as required.

## Environment Variables for KEYCLOAK integration

| VARIABLE NAME | Example VALUE | DESCRIPTION | REQUIRED |
| --- | --- | --- | --- |
| `KEYCLOAK_CLIENT_ID` | `aws-oidc`| Client ID | yes |
| `KEYCLOAK_WELLKNOWN` | `https://example.dev/realms/test/.well-known/openid-configuration` | Keycloak well-known openid URL | yes |
| `APP_SECRET` | `!apppasswd` | optional env variable to set encrytion secret | no |
| `TITLE` | `Example Broker` | Title to display on Broker UI | no |

## Deployment

Add additional notes about how to deploy this on a live system

## Built With

- [Flask](https://flask.palletsprojects.com/) - The web framework used

- [VueJs](https://vuejs.org/) - The web framework for building web user interfaces.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "aws-oidc-broker",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "packaging,poetry",
    "author": "Rishang",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/f3/0c/17cfd67fa83cb6c1b757036e592b9fd1dc401271e9d8d7538c90a0c4768c/aws_oidc_broker-0.1.0.tar.gz",
    "platform": null,
    "description": "# AWS OpenID Credential Broker\n\nOpenID Based Identity Credential Broker for AWS (Built as an alternative to AWS SSO to support OpenID Federation)\n\n![demo image](.github/images/panel.png)\n\n\n## Broker authentication flow \n\n```mermaid\nsequenceDiagram;\n\nparticipant User;\nparticipant Broker;\nparticipant IDP;\nparticipant AWS;\n\nUser -->> Broker: Login via IDP\nBroker -->> IDP: Forward Auth Request\nIDP -->> Broker: IDP Login Successful\nUser -->> Broker: Open AWS Console\nBroker -->> AWS: Request Session\nAWS -->> Broker: Login Successfull\nBroker -->> Browser: Open AWS Console\n```\n\n## Getting Started\n\nQuick Start with docker compose\n\n```bash\ndocker-compose up -d\n```\n\n### Prerequisites\n\n- python3\n- virtualenv\n- docker\n- docker-compose\n\n\n### Installing\n\nA step by step series of examples that tell you how to get a development env running\n\nClone the Project \n\n```bash\ngit clone https://github.com/Rishang/aws-oidc-broker.git\n```\n\nInitialzing virtualenv\n\n```bash\ncd aws-oidc-broker\npython -m venv venv\nsource ./venv/bin/activate\n```\n\nInstalling Dependencies\n\n```bash\npip install -r requirements.txt\n```\n\nConfigure .env file or perform export of those variables\n\n```bash\ncp .env.example .env\n```\n\nConfigure environment variables as required.\n\n## Environment Variables for KEYCLOAK integration\n\n| VARIABLE NAME | Example VALUE | DESCRIPTION | REQUIRED |\n| --- | --- | --- | --- |\n| `KEYCLOAK_CLIENT_ID` | `aws-oidc`| Client ID | yes |\n| `KEYCLOAK_WELLKNOWN` | `https://example.dev/realms/test/.well-known/openid-configuration` | Keycloak well-known openid URL | yes |\n| `APP_SECRET` | `!apppasswd` | optional env variable to set encrytion secret | no |\n| `TITLE` | `Example Broker` | Title to display on Broker UI | no |\n\n## Deployment\n\nAdd additional notes about how to deploy this on a live system\n\n## Built With\n\n- [Flask](https://flask.palletsprojects.com/) - The web framework used\n\n- [VueJs](https://vuejs.org/) - The web framework for building web user interfaces.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "",
    "version": "0.1.0",
    "split_keywords": [
        "packaging",
        "poetry"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7449d02d074990dc8824be496af08d1a47654c99a7b8e74477ae68c35f99124c",
                "md5": "7dec61fcad94d3b1d92b5189e4877a5e",
                "sha256": "f745e7196e0376bcdb71b213b636ed9668c32fedbcb530ef10f021ab1d54f442"
            },
            "downloads": -1,
            "filename": "aws_oidc_broker-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7dec61fcad94d3b1d92b5189e4877a5e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 31151,
            "upload_time": "2023-02-10T18:46:25",
            "upload_time_iso_8601": "2023-02-10T18:46:25.094545Z",
            "url": "https://files.pythonhosted.org/packages/74/49/d02d074990dc8824be496af08d1a47654c99a7b8e74477ae68c35f99124c/aws_oidc_broker-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f30c17cfd67fa83cb6c1b757036e592b9fd1dc401271e9d8d7538c90a0c4768c",
                "md5": "a4368e3a8a64547c1aaf570338493b6e",
                "sha256": "1589ea1f00f71f2e99205d93dcb28090ea4238594689217e037b2a60e0e025f6"
            },
            "downloads": -1,
            "filename": "aws_oidc_broker-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a4368e3a8a64547c1aaf570338493b6e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 27738,
            "upload_time": "2023-02-10T18:46:27",
            "upload_time_iso_8601": "2023-02-10T18:46:27.760547Z",
            "url": "https://files.pythonhosted.org/packages/f3/0c/17cfd67fa83cb6c1b757036e592b9fd1dc401271e9d8d7538c90a0c4768c/aws_oidc_broker-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-10 18:46:27",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "aws-oidc-broker"
}
        
Elapsed time: 0.04184s