IBM SSO Self-Service Provisioner


Keywords
sso, fastapi, oidc
License
BSD-3-Clause
Install
pip install ibm-sso==0.2.1

Documentation

ibm-sso

When using SSO Self-Service Provisioner for single sign-on, ibm-sso can make your work easier.

Currently only supports fastapi applications.

Getting Started

pip install ibm-sso

Usage

  1. Add ibm-sso to requirements.txt

    ibm-sso==0.2.1

    For versions lower than 0.1.0, the token is returned directly after successful authentication.

    For versions 0.1.x is experimental, please do not use it.

    Starting from version 0.2.1, you need to create your own nonce on the client side and then pass that nonce along with the redirect_uri to the server side. code and state are returned after successful authentication. You need to use the code, state, nonce and redirect_uri to obtain token information.

  2. Install ibm-sso from requirements.txt file

    pipenv install -r requirements.txt
  3. Set environment variables

    Refer to the .env.template in the sample directory.

  4. Import ibm-sso in startup file

    Refer to the app.py in the sample directory.

  5. Protect your API

    If your API requires authentication to access, you can refer to sample.py

Sample

There is a full sample in the sample directory that can be run directly. You can start from the sample to learn how to use ibm-sso.

Deploy project(memo for developer)

  1. Deploy project

    # https://test.pypi.org/
    expect interactive_deploy_test.expect
    
    # https://pypi.org/
    # expect interactive_deploy.expect
  2. Use test.pypi.org

    pipenv install -i https://test.pypi.org/simple/ ibm-sso
  3. How to mark a version as yanked

    twine yank <package_name> --version <version> --reason "Reason this release was yanked: Yanked due to <reason>"