Nice Parakeet Marriage

    sinopia-delegated-auth

    0.0.1 • Public • Published

    sinopia-delegated-auth

    Sinopia authentication plugin that delegates authentication to another HTTP URL

    Rationale

    We use Kerberos for authentication. Developers are accustomed to be able to use the same password everywhere in the organisation to gain access to resources that they need for their work. This should also apply to our private npm repositories.

    How does it work?

    Basically, authentication is delegated to another website where Kerberos authentication is already set up. The Sinopia authentication plugin is given the URL of this website. Whenever the user tries to authenticate with Sinopia using a username-password combination, Sinopia makes an HTTP request in the background to this URL with the credentials that the user supplied. When the website returns an HTTP 200 response, the password is considered correct and the user is authenticated in Sinopia. In all other cases, authentication fails.

    Installation

    $ npm install sinopia-delegated-auth

    Config

    Add to your config.yaml:

    auth:
      delegated-auth:
        url: "https://some.other.site.com/auth"

    Security considerations

    Sinopia sends an HTTP Basic authentication request to the delegate website. The usual security considerations for HTTP Basic authentication apply here: don't do it over an unencrypted channel unless you are absolutely sure that unauthorised parties cannot intercept the communication and inspect the password in the Authorization header. Use https if you can.

    Keywords

    Install

    npm i sinopia-delegated-auth

    DownloadsWeekly Downloads

    3

    Version

    0.0.1

    License

    MIT

    Last publish

    Collaborators

    • ntamas42