0
votes

I'm trying to write a python module that asks for a token from bitbucket and would allow interation with composer-rest-server's api, however I keep running into 404 errors

{"error":{"statusCode":404,"name":"Error","message":"Cannot GET /auth/github/callback?code=46d87f0d975c78dbb174&state=mOO41N329SSylnQzQOOQYk6GnMDOZY","status":404,"stack":"Error: Cannot GET /auth/github/callback?code=46d87f0d975c78dbb174&state=mOO41N329SSylnQzQOOQYk6GnMDOZY\n at raiseUrlNotFoundError (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/url-not-found.js:21:17)\n at Layer.handle [as handle_request] (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5)\n at trim_prefix (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13)\n at /Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7\n at Function.process_params (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12)\n at next (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10)\n at /Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15\n at next (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:260:14)\n at Function.handle (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:174:3)\n at router (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:47:12)\n at Layer.handle [as handle_request] (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5)\n at trim_prefix (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13)\n at /Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7\n at Function.process_params (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12)\n at next (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10)\n at urlencodedParser (/Users/robertbundy/.nvm/versions/node/v8.11.2/lib/node_modules/composer-rest-server/node_modules/body-parser/lib/types/urlencoded.js:91:7)"}}

1

1 Answers

0
votes

The Composer REST server uses the open source Passport authentication middleware - http://passportjs.org/ . Administrators of the REST server must select which Passport strategies (300+ such strategies) to authenticate clients. See https://hyperledger.github.io/composer/latest/integrating/enabling-rest-authentication.html

That page describes a Github OAUTH2 configuration, but there are also two other tutorials that may be of interest - Google OAUTH2 strategy -> https://hyperledger.github.io/composer/latest/tutorials/google_oauth2_rest and this one on Passport-JWT strategy -> https://www.codementor.io/gangachris125/passport-jwt-authentication-for-hyperledger-composer-rest-server-jqfgkoljn