open-consul/ui/packages/consul-ui/app/components/token-source
John Cowen d47ccb859f
ui: Improves UI engineering docs (#9875)
Also fixes some typos in with-overlay
2021-03-17 15:58:17 +00:00
..
chart.xstate.js ui: Move to Workspaced Structure (#8994) 2020-10-21 15:23:16 +01:00
index.hbs ui: Move to Workspaced Structure (#8994) 2020-10-21 15:23:16 +01:00
index.js ui: Move to Workspaced Structure (#8994) 2020-10-21 15:23:16 +01:00
README.mdx ui: Improves UI engineering docs (#9875) 2021-03-17 15:58:17 +00:00

---
class: ember
---
## TokenSource

```hbs
  <TokenSource
    @dc={{dc}}
    @nspace={{nspace}}
    @type={{or 'oidc' 'secret'}}
    @value={{or identifierForProvider secret}}
    @onchange={{action 'change'}}
    @onerror={{action 'error'}}
  />
```

### Arguments

| Argument | Type | Default | Description |
| --- | --- | --- | --- |
| `dc` | `String` | | The name of the current datacenter |
| `nspace` | `String` | | The name of the current namespace |
| `onchange` | `Function` |  | The action to fire when the data changes. Emits an Event-like object with a `data` property containing the jwt data, in this case the autorizationCode and the status |
| `onerror` | `Function` |  | The action to fire when an error occurs. Emits ErrorEvent object with an `error` property containing the Error. |

This component will go through the steps of requesting a JWT token from a third party oauth provider. `src` should contain the full URL of the authorization URL for the 3rd party provider. Once the user has logged into the 3rd party provider the `onchange` event will be fired containing an event-like object whose data contains the JWT information.

The component need only be place into the DOM in order to begin the OAuth dance.

### See

- [Component Source Code](./index.js)
- [Template Source Code](./index.hbs)

---