@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
163 lines (77 loc) • 2.91 kB
Markdown
---
lang: en
title: 'API docs: authentication.authenticationstrategyprovider'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/authentication
permalink: /doc/en/lb4/apidocs.authentication.authenticationstrategyprovider.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/authentication](./authentication.md) > [AuthenticationStrategyProvider](./authentication.authenticationstrategyprovider.md)
## AuthenticationStrategyProvider class
An authentication strategy provider responsible for resolving an authentication strategy by name.
It declares an extension point to which all authentication strategy implementations must register themselves as extensions.
**Signature:**
```typescript
export declare class AuthenticationStrategyProvider implements Provider<AuthenticationStrategy[] | undefined>
```
**Implements:** [Provider](./context.provider.md)<!-- --><[AuthenticationStrategy](./authentication.authenticationstrategy.md)<!-- -->\[\] \| undefined>
## Example
`context.bind('authentication.strategy').toProvider(AuthenticationStrategyProvider)`
## Constructors
<table><thead><tr><th>
Constructor
</th><th>
Modifiers
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
[(constructor)(authenticationStrategies, metadata)](./authentication.authenticationstrategyprovider._constructor_.md)
</td><td markdown="1">
</td><td markdown="1">
Constructs a new instance of the `AuthenticationStrategyProvider` class
</td></tr>
</tbody></table>
## Properties
<table><thead><tr><th>
Property
</th><th>
Modifiers
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
[authenticationStrategies](./authentication.authenticationstrategyprovider.authenticationstrategies.md)
</td><td markdown="1">
`protected`
</td><td markdown="1">
Getter<[AuthenticationStrategy](./authentication.authenticationstrategy.md)<!-- -->\[\]>
</td><td markdown="1">
</td></tr>
<tr><td markdown="1">
[metadata?](./authentication.authenticationstrategyprovider.metadata.md)
</td><td markdown="1">
`protected`
</td><td markdown="1">
[AuthenticationMetadata](./authentication.authenticationmetadata.md)<!-- -->\[\] \| undefined
</td><td markdown="1">
_(Optional)_
</td></tr>
</tbody></table>
## Methods
<table><thead><tr><th>
Method
</th><th>
Modifiers
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
[value()](./authentication.authenticationstrategyprovider.value.md)
</td><td markdown="1">
</td><td markdown="1">
</td></tr>
</tbody></table>