---
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) &gt; [@loopback/authentication](./authentication.md) &gt; [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)<!-- -->&lt;[AuthenticationStrategy](./authentication.authenticationstrategy.md)<!-- -->\[\] \| undefined&gt;

## 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&lt;[AuthenticationStrategy](./authentication.authenticationstrategy.md)<!-- -->\[\]&gt;


</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>


