https://github.com/jaredhanson/oauth2orize-redelegate
Token redelegation and chaining exchange for OAuth2orize.
https://github.com/jaredhanson/oauth2orize-redelegate
Last synced: 3 months ago
JSON representation
Token redelegation and chaining exchange for OAuth2orize.
- Host: GitHub
- URL: https://github.com/jaredhanson/oauth2orize-redelegate
- Owner: jaredhanson
- License: mit
- Created: 2014-01-18T02:04:22.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2019-05-25T21:20:25.000Z (over 6 years ago)
- Last Synced: 2025-05-13T01:49:03.799Z (8 months ago)
- Language: JavaScript
- Homepage:
- Size: 31.3 KB
- Stars: 5
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# oauth2orize-redelegate
Token redelegation and chaining exchange for [OAuth2orize](https://github.com/jaredhanson/oauth2orize).
This exchange is used by a resource server to exchange an access token it has
recieved from a client for a derivative token for use with another resource
server. This scenario facilitiates service chaining, in which one service needs
to communicate with another service in order to fulfill the original request.
Status:
[](https://www.npmjs.com/package/oauth2orize-redelegate)
[](https://travis-ci.org/jaredhanson/oauth2orize-redelegate)
[](https://codeclimate.com/github/jaredhanson/oauth2orize-redelegate)
[](https://coveralls.io/r/jaredhanson/oauth2orize-redelegate)
[](https://david-dm.org/jaredhanson/oauth2orize-redelegate)
## Install
```bash
$ npm install oauth2orize-redelegate
```
## Usage
#### Register Exchange
Register the exchange with a `Server` instance and implement the `issue`
callback:
```js
var redelegate = require('oauth2orize-redelegate').exchange.redelegate;
server.exchange('urn:ietf:params:oauth:grant_type:redelegate', redelegate(function(client, token, scope, done) {
// TODO:
// 1. Verify the access token.
// 2. Ensure that the token is being exchanged by a resource server for which
// it is intended.
// 3. Issue a deriviative token with equal or lesser scope.
});
```
## Considerations
#### Specification
This module is implemented based on [A Method of Bearer Token Redelegation and Chaining for OAuth 2](https://tools.ietf.org/html/draft-richer-oauth-chain-00),
draft version 00. As a draft, the specification remains a work-in-progress and
is *not* final. The specification is under discussion within the [OAuth Working Group](https://datatracker.ietf.org/wg/oauth/about/)
of the [IETF](https://www.ietf.org/). Implementers are encouraged to track the
progress of this specification and update implementations as necessary.
Furthermore, the implications of relying on non-final specifications should be
understood prior to deployment.
## License
[The MIT License](http://opensource.org/licenses/MIT)
Copyright (c) 2014-2018 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)>