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

## ISubjectTypeConverter Interface

Defines the interface for a service that converts user subject identifiers according to the client's specified
subject type\. This conversion ensures that the subject identifier presented to the client is in the format
that the client expects, based on its configuration\.

```csharp
public interface ISubjectTypeConverter
```

Derived  
↳ [SubjectTypeConverter](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UserInfo.SubjectTypeConverter 'Abblix\.Oidc\.Server\.Features\.UserInfo\.SubjectTypeConverter')

### Remarks
The implementation of this interface should support various subject types, such as "public" or "pairwise",
and provide appropriate conversions based on the OpenID Connect specifications\.
### Properties

## ISubjectTypeConverter\.SubjectTypesSupported Property {#Abblix.Oidc.Server.Features.UserInfo.ISubjectTypeConverter.SubjectTypesSupported}

Lists the subject types that this converter supports\. This typically includes "public" and "pairwise"
among others, depending on the OpenID Connect implementation specifics\.

```csharp
System.Collections.Generic.IEnumerable<string> SubjectTypesSupported { get; }
```

#### Property Value
[System\.Collections\.Generic\.IEnumerable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
### Methods

## ISubjectTypeConverter\.Convert\(string, ClientInfo\) Method {#Abblix.Oidc.Server.Features.UserInfo.ISubjectTypeConverter.Convert(string,Abblix.Oidc.Server.Features.ClientInformation.ClientInfo)}

Converts the subject identifier for an end\-user based on the client's subject type\.

```csharp
string Convert(string subject, Abblix.Oidc.Server.Features.ClientInformation.ClientInfo clientInfo);
```
#### Parameters

###### `subject` [System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String') {#Abblix.Oidc.Server.Features.UserInfo.ISubjectTypeConverter.Convert(string,Abblix.Oidc.Server.Features.ClientInformation.ClientInfo).subject}

The original subject identifier of the end\-user\.

###### `clientInfo` [ClientInfo](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.ClientInformation.ClientInfo 'Abblix\.Oidc\.Server\.Features\.ClientInformation\.ClientInfo') {#Abblix.Oidc.Server.Features.UserInfo.ISubjectTypeConverter.Convert(string,Abblix.Oidc.Server.Features.ClientInformation.ClientInfo).clientInfo}

Information about the client for which the subject identifier is being transformed\.

#### Returns
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')  
The transformed subject identifier suitable for the client's subject type\.
