craftship / codebox-npm

Serverless private npm registry using https://serverless.com/

Home Page:http://codebox.sh/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot npm install packages that were pushed on a custom domain repository (401 Unauthorized)

snajjar opened this issue · comments

This is a (Bug Report / Feature Proposal)

Bug report

Description

Okay, I think i finally sorted this out.
If you create a repository then operate a custom domain on it, it seems that packages you push on it (using the custom domain url) will give a 401 error when pulled later on (through npm install/yarn add)

Additional Data

Removing the "authorizer: authorizerGithub" on the target.default handler will remove auth checking from the lambda function. It seems to work correctly after that.
But well, as a drawback everyone can now install your packages given the registry and name.

  • NPM CLI version you are using: npm 5.5.1, yarn 1.3.2
  • Serverless version you're using: 1.24.1
  • Node version you're using: 8.9.1

@snajjar I had the same issue and you have to run the command listed here: https://github.com/craftship/codebox-npm#custom-domain. What you are missing is that this command changes the apiEndpoint environment variable on the codebox-npm-${stage}-put Lambda function. You can do it manually if needed.

Also I looked into the code and if you don't have the stage name on your custom domain (so customdomain.com instead of e.g. customdomain.com/prod), then the command is probably going to set the apiEndpoint wrongly, so you have to correct it manually.