#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')
### [Abblix\.Oidc\.Server\.Endpoints\.Authorization](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization 'Abblix\.Oidc\.Server\.Endpoints\.Authorization')

## AuthorizationResponseEncoder Class

Default [IAuthorizationResponseEncoder](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationResponseEncoder 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.IAuthorizationResponseEncoder')\. Applies the `iss` \(RFC 9207\) and
implicit/hybrid `scope` gating, and — for a JARM \(`*.jwt`\) response mode — packs the
response parameters into a signed/encrypted `response` JWT and resolves the delivery mode\.
Mutates the response in place; the transport layer only maps the encoded response onto the wire\.

```csharp
public class AuthorizationResponseEncoder : Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationResponseEncoder
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → AuthorizationResponseEncoder

Implements [IAuthorizationResponseEncoder](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationResponseEncoder 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.IAuthorizationResponseEncoder')
### Constructors

## AuthorizationResponseEncoder\(IIssuerProvider, IAuthorizationMetadataProvider, IResponseJwtBuilder\) Constructor {#Abblix.Oidc.Server.Endpoints.Authorization.AuthorizationResponseEncoder.AuthorizationResponseEncoder(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IAuthorizationMetadataProvider,Abblix.Oidc.Server.Features.ResponseObject.IResponseJwtBuilder)}

Default [IAuthorizationResponseEncoder](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationResponseEncoder 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.IAuthorizationResponseEncoder')\. Applies the `iss` \(RFC 9207\) and
implicit/hybrid `scope` gating, and — for a JARM \(`*.jwt`\) response mode — packs the
response parameters into a signed/encrypted `response` JWT and resolves the delivery mode\.
Mutates the response in place; the transport layer only maps the encoded response onto the wire\.

```csharp
public AuthorizationResponseEncoder(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider issuerProvider, Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IAuthorizationMetadataProvider authorizationMetadata, Abblix.Oidc.Server.Features.ResponseObject.IResponseJwtBuilder responseJwtBuilder);
```
#### Parameters

###### `issuerProvider` [IIssuerProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Issuer.IIssuerProvider 'Abblix\.Oidc\.Server\.Features\.Issuer\.IIssuerProvider') {#Abblix.Oidc.Server.Endpoints.Authorization.AuthorizationResponseEncoder.AuthorizationResponseEncoder(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IAuthorizationMetadataProvider,Abblix.Oidc.Server.Features.ResponseObject.IResponseJwtBuilder).issuerProvider}

Supplies the `iss` value \(RFC 9207\)\.

###### `authorizationMetadata` [IAuthorizationMetadataProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IAuthorizationMetadataProvider 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.IAuthorizationMetadataProvider') {#Abblix.Oidc.Server.Endpoints.Authorization.AuthorizationResponseEncoder.AuthorizationResponseEncoder(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IAuthorizationMetadataProvider,Abblix.Oidc.Server.Features.ResponseObject.IResponseJwtBuilder).authorizationMetadata}

Tells whether `iss` is advertised/emitted\.

###### `responseJwtBuilder` [IResponseJwtBuilder](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ResponseObject.IResponseJwtBuilder 'Abblix\.Oidc\.Server\.Features\.ResponseObject\.IResponseJwtBuilder') {#Abblix.Oidc.Server.Endpoints.Authorization.AuthorizationResponseEncoder.AuthorizationResponseEncoder(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.IAuthorizationMetadataProvider,Abblix.Oidc.Server.Features.ResponseObject.IResponseJwtBuilder).responseJwtBuilder}

Builds the JARM `response` JWT\.
### Methods

## AuthorizationResponseEncoder\.EncodeAsync\(AuthorizationResponse\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.AuthorizationResponseEncoder.EncodeAsync(Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse)}

Encodes the supplied authorization response in place\. No\-op for response types that are not
delivered to the client's redirect URI\.

```csharp
public System.Threading.Tasks.Task EncodeAsync(Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse response);
```
#### Parameters

###### `response` [AuthorizationResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationResponse') {#Abblix.Oidc.Server.Endpoints.Authorization.AuthorizationResponseEncoder.EncodeAsync(Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse).response}

The processed authorization response to encode\.

Implements [EncodeAsync\(AuthorizationResponse\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationResponseEncoder#Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationResponseEncoder.EncodeAsync(Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse) 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.IAuthorizationResponseEncoder\.EncodeAsync\(Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationResponse\)')

#### Returns
[System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task')
