Add AzureAd Authentication for RestEase: the easy-to-use typesafe REST API client library.
$ dotnet add package RestEase.Authentication.AzureAn extension to RestEase which adds Microsoft Entra ID (Azure AD) Authentication.
Supported modes are:
{
"DocumentApiClientOptions": {
"TenantId": "t",
"ClientId": "c",
"ClientSecret": "s",
"Resource": "r",
"BaseAddress": "https://localhost:44318",
"AcceptAnyServerCertificate": true,
"TimeoutInSeconds": 99
}
}
{
"DocumentApiClientOptions": {
"ClientId": "c",
"Resource": "r",
"BaseAddress": "https://localhost:44318",
"AcceptAnyServerCertificate": true,
"TimeoutInSeconds": 99
}
}
{
"DocumentApiClientOptions": {
"Resource": "r",
"BaseAddress": "https://localhost:44318",
"AcceptAnyServerCertificate": true,
"TimeoutInSeconds": 99
}
}
:bulb: If the scopes-array is not defined, the default the scope {Resource}/.default is used.
[BasePath("/api")]
public interface IDocumentApi
{
[Get("GetDocumentById/{id}")]
Task<Response<Document>> GetDocumentAsync([Path] int id, CancellationToken cancellationToken = default);
}
services.UseWithAzureAuthenticatedRestEaseClient<IDocumentApi>(configuration.GetSection("DocumentApiClientOptions"));
IDocumentApi documentApi = ...; // Injected
var document = await documentApi.GetDocumentAsync(1, cancellationToken);
Entity Framework Extensions and Dapper Plus are major sponsors and proud to contribute to the development of RestEase.Authentication.Azure.