btcpayserver/BTCPayServer.Client/BTCPayServerClient.Authorization.cs

30 lines
1.1 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
namespace BTCPayServer.Client;
public partial class BTCPayServerClient
{
public static Uri GenerateAuthorizeUri(Uri btcpayHost, string[] permissions, bool strict = true,
bool selectiveStores = false, (string ApplicationIdentifier, Uri Redirect) applicationDetails = default)
{
var result = new UriBuilder(btcpayHost) { Path = "api-keys/authorize" };
AppendPayloadToQuery(result,
new Dictionary<string, object>
{
{"strict", strict}, {"selectiveStores", selectiveStores}, {"permissions", permissions}
});
2020-06-28 17:55:27 +09:00
if (applicationDetails.Redirect != null)
{
AppendPayloadToQuery(result, new KeyValuePair<string, object>("redirect", applicationDetails.Redirect));
if (!string.IsNullOrEmpty(applicationDetails.ApplicationIdentifier))
2020-08-04 13:10:48 +02:00
{
AppendPayloadToQuery(result, new KeyValuePair<string, object>("applicationIdentifier", applicationDetails.ApplicationIdentifier));
2020-08-04 13:10:48 +02:00
}
}
return result.Uri;
}
}