24 lines
625 B
C#
24 lines
625 B
C#
using OpenIddict.Client;
|
|
using RobotNet.Clients;
|
|
|
|
namespace RobotNet.RobotManager.HubClients;
|
|
|
|
public class OpenIddictHubClient(string url, OpenIddictClientService openIddictClient, string[] scopes) : HubClient(new Uri(url),
|
|
async () =>
|
|
{
|
|
var result = await openIddictClient.AuthenticateWithClientCredentialsAsync(new()
|
|
{
|
|
Scopes = [.. scopes],
|
|
});
|
|
if (result == null || result.AccessToken == null || result.AccessTokenExpirationDate == null)
|
|
{
|
|
return null;
|
|
}
|
|
else
|
|
{
|
|
return result.AccessToken;
|
|
}
|
|
})
|
|
{
|
|
}
|