# passport-okta-id-token

> ## Install

Latest version **1.0.1** (published 2022-06-23) · MIT license · 0 weekly downloads

## Install

```sh
npm install passport-okta-id-token
pnpm add passport-okta-id-token
yarn add passport-okta-id-token
bun add passport-okta-id-token
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2022-06-23 |
| First published | 2022-06-23 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 17.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | jm18457 |

## Links

- npm: https://www.npmjs.com/package/passport-okta-id-token
- Repository: https://github.com/jmaver-plume/passport-okta-id-token
- Homepage: https://github.com/jmaver-plume/passport-okta-id-token#readme
- Issues: https://github.com/jmaver-plume/passport-okta-id-token/issues
- npm.io page: https://npm.io/package/passport-okta-id-token

## Dependencies (2)

- [passport-strategy](https://npm.io/package/passport-strategy.md) ^1.0.0
- [@okta/jwt-verifier](https://npm.io/package/@okta/jwt-verifier.md) ^2.3.0

## Recent versions

- 1.0.1 (latest) — 2022-06-23
- 1.0.0 — 2022-06-23

## README

# passport-okta-id-token

## Install

```shell
npm install passport-okta-id-token
```

## Usage

Strategy uses [@okta/jwt-verifier](https://www.npmjs.com/package/@okta/jwt-verifier/v/latest) under the hood.

### Configure Strategy

The strategy requires verifier options and verify callback. Both arguments are required.

```javascript
const { Strategy } = require("passport-okta-id-token");

passport.use(
  new Strategy({ issuer: "https://{yourOktaDomain}/oauth2/default" }, function (
    jwt,
    sub,
    done
  ) {
    User.findOrCreate({ oktaId: sub }, function (err, user) {
      return done(err, user);
    });
  })
);
```

### Authenticate Requests

```javascript
app.post(
  "/auth/okta",
  passport.authenticate("okta-id-token", {
    expectedClientId: "0oa5h93ocjgurRFu05d7",
    expectedNonce:
      "8V7Okhr8WqMGsXPQJaGy1Nu4GT5W05BfIbYlagBd587tryHKW6wWvQQiYvKFoZfJ",
    getIdTokenFromReq: (req) => req.body.id_token,
    session: false,
  }),
  function (req, res) {
    // do something with req.user
    res.sendStatus(req.user ? 200 : 401);
  }
);
```

---
_Source: https://npm.io/package/passport-okta-id-token · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
