{"id":15604623,"url":"https://github.com/maxcoto/passport-assembla","last_synced_at":"2025-03-15T12:44:02.710Z","repository":{"id":10646609,"uuid":"12874937","full_name":"maxcoto/passport-assembla","owner":"maxcoto","description":null,"archived":false,"fork":false,"pushed_at":"2013-11-14T15:39:38.000Z","size":114,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-11T16:03:09.588Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxcoto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-16T18:24:21.000Z","updated_at":"2019-08-13T15:26:58.000Z","dependencies_parsed_at":"2022-09-26T17:41:19.009Z","dependency_job_id":null,"html_url":"https://github.com/maxcoto/passport-assembla","commit_stats":null,"previous_names":["maxiperezc/passport-assembla"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcoto%2Fpassport-assembla","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcoto%2Fpassport-assembla/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcoto%2Fpassport-assembla/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxcoto%2Fpassport-assembla/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxcoto","download_url":"https://codeload.github.com/maxcoto/passport-assembla/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243732252,"owners_count":20338831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T03:55:23.316Z","updated_at":"2025-03-15T12:44:02.682Z","avatar_url":"https://github.com/maxcoto.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Passport-Assembla\n\n[Passport](https://github.com/jaredhanson/passport) strategy for authenticating\nwith [Assembla](http://www.assembla.com/) using the OAuth 2.0 API.\n\nThis module lets you authenticate using Assembla in your Node.js applications.  By\nplugging into Passport, Assembla authentication can be easily and unobtrusively\nintegrated into any application or framework that supports\n[Connect](http://www.senchalabs.org/connect/)-style middleware, including\n[Express](http://expressjs.com/).\n\n## Install\n\n    $ npm install passport-assembla\n\n## Usage\n\n#### Configure Strategy\n\nThe Assembla authentication strategy authenticates users using an Assembla\naccount and OAuth 2.0 tokens.  The strategy requires a `verify` callback, which\naccepts these credentials and calls `done` providing a user, as well as\n`options` specifying a client ID, client secret, and callback URL.\n\nThe client ID and secret are obtained by registering an application at the\n[Developer API Tutorial](http://api-docs.assembla.com/).\n\n    passport.use(new AssemblaStrategy({\n        clientID: ASSEMBLA_CLIENT_ID,\n        clientSecret: ASSEMBLA_CLIENT_SECRET,\n        callbackURL: \"http://127.0.0.1:3000/auth/assembla/callback\"\n      },\n      function(accessToken, refreshToken, profile, done) {\n        User.findOrCreate({ assemblaId: profile.id }, function (err, user) {\n          return done(err, user);\n        });\n      }\n    ));\n\n#### Authenticate Requests\n\nUse `passport.authenticate()`, specifying the `'assembla'` strategy, to\nauthenticate requests.\n\nFor example, as route middleware in an [Express](http://expressjs.com/)\napplication:\n\n    app.get('/auth/assembla',\n      passport.authenticate('assembla'));\n\n    app.get('/auth/assembla/callback', \n      passport.authenticate('assembla', { failureRedirect: '/login' }),\n      function(req, res) {\n        // Successful authentication, redirect home.\n        res.redirect('/');\n      });\n\n## Examples\n\nFor a complete, working example, refer to the [login example](https://github.com/maxiperezc/passport-assembla/tree/master/examples/login).\n\n## Tests\n\n    $ npm install --dev\n    $ make test\n\n[![Build Status](https://secure.travis-ci.org/maxiperezc/passport-assembla.png)](http://travis-ci.org/maxiperezc/passport-assembla)\n\n## Credits\n\n  - [André Mendonça](https://github.com/andremendonca)\n  - [Maximiliano Perez Coto](http://github.com/maxiperezc)\n\n## Thanks\n\n  - [Jared Hanson](http://github.com/jaredhanson)\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2013 \nAndré Mendonça \u003c[Linked In](http://www.linkedin.com/in/andrelmb)\u003e\nMaximiliano Perez Coto \u003c[About Me](http://about.me/maxiperezc)\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxcoto%2Fpassport-assembla","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxcoto%2Fpassport-assembla","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxcoto%2Fpassport-assembla/lists"}