Cloud Foundry UAA OAuth2 authentication strategy for Passport.


Passport strategy for authenticating with Cloud Foundry open PaaS using the OAuth 2.0 API.

$ npm install passport-cloudfoundry

The CloudFoundry authentication strategy authenticates users using an CloudFoundry account and OAuth 2.0 tokens. The strategy requires a verify callback, which accepts these credentials and calls done providing a user, as well as options specifying a client ID, client secret, and callback URL.

passport.use(new CloudFoundryStrategy({
    clientID: CF_CLIENT_ID,
    clientSecret: CF_CLIENT_SECRET,
    callbackURL: ""
  function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({ email: profile.user }, function (err, user) {
      return done(err, user);

Use passport.authenticate(), specifying the 'cloudfoundry' strategy, to authenticate requests.

For example, as route middleware in an Express application:

  function(req, res){
    // The request will be redirected to CloudFoundry for authentication, so
    // this function will not be called.

  passport.authenticate('cloudfoundry', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.

For a complete, working example, refer to the login example.

$ npm install --dev
$ make test