mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 14:34:23 +01:00
Fix bug of authentication caused by previous refactoring on authentication
This commit is contained in:
@@ -343,6 +343,7 @@ namespace BTCPayServer.Tests
|
|||||||
var user = tester.NewAccount();
|
var user = tester.NewAccount();
|
||||||
user.GrantAccess();
|
user.GrantAccess();
|
||||||
user.RegisterDerivationScheme("BTC");
|
user.RegisterDerivationScheme("BTC");
|
||||||
|
Assert.True(user.BitPay.TestAccess(Facade.Merchant));
|
||||||
var invoice = user.BitPay.CreateInvoice(new Invoice()
|
var invoice = user.BitPay.CreateInvoice(new Invoice()
|
||||||
{
|
{
|
||||||
Buyer = new Buyer() { email = "test@fwf.com" },
|
Buyer = new Buyer() { email = "test@fwf.com" },
|
||||||
@@ -772,6 +773,22 @@ namespace BTCPayServer.Tests
|
|||||||
user.RegisterDerivationScheme("BTC");
|
user.RegisterDerivationScheme("BTC");
|
||||||
Assert.True(user.BitPay.TestAccess(Facade.Merchant));
|
Assert.True(user.BitPay.TestAccess(Facade.Merchant));
|
||||||
|
|
||||||
|
// Test request pairing code client side
|
||||||
|
var storeController = user.GetController<StoresController>();
|
||||||
|
storeController.CreateToken(new CreateTokenViewModel()
|
||||||
|
{
|
||||||
|
Facade = Facade.Merchant.ToString(),
|
||||||
|
Label = "test2",
|
||||||
|
StoreId = user.StoreId
|
||||||
|
}).GetAwaiter().GetResult();
|
||||||
|
Assert.NotNull(storeController.GeneratedPairingCode);
|
||||||
|
|
||||||
|
|
||||||
|
var bitpay = new Bitpay(new Key(), tester.PayTester.ServerUri);
|
||||||
|
bitpay.AuthorizeClient(new PairingCode(storeController.GeneratedPairingCode)).Wait();
|
||||||
|
Assert.True(bitpay.TestAccess(Facade.Merchant));
|
||||||
|
Assert.True(bitpay.TestAccess(Facade.PointOfSale));
|
||||||
|
|
||||||
// Can generate API Key
|
// Can generate API Key
|
||||||
var repo = tester.PayTester.GetService<TokenRepository>();
|
var repo = tester.PayTester.GetService<TokenRepository>();
|
||||||
Assert.Empty(repo.GetLegacyAPIKeys(user.StoreId).GetAwaiter().GetResult());
|
Assert.Empty(repo.GetLegacyAPIKeys(user.StoreId).GetAwaiter().GetResult());
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||||
<Version>1.0.2.32</Version>
|
<Version>1.0.2.33</Version>
|
||||||
<NoWarn>NU1701,CA1816,CA1308,CA1810,CA2208</NoWarn>
|
<NoWarn>NU1701,CA1816,CA1308,CA1810,CA2208</NoWarn>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.2" />
|
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.2" />
|
||||||
<PackageReference Include="Microsoft.NetCore.Analyzers" Version="2.6.0" />
|
<PackageReference Include="Microsoft.NetCore.Analyzers" Version="2.6.0" />
|
||||||
<PackageReference Include="NBitcoin" Version="4.1.1.10" />
|
<PackageReference Include="NBitcoin" Version="4.1.1.10" />
|
||||||
<PackageReference Include="NBitpayClient" Version="1.0.0.27" />
|
<PackageReference Include="NBitpayClient" Version="1.0.0.28" />
|
||||||
<PackageReference Include="DBreeze" Version="1.87.0" />
|
<PackageReference Include="DBreeze" Version="1.87.0" />
|
||||||
<PackageReference Include="NBXplorer.Client" Version="1.0.2.10" />
|
<PackageReference Include="NBXplorer.Client" Version="1.0.2.10" />
|
||||||
<PackageReference Include="NicolasDorier.CommandLine" Version="1.0.0.2" />
|
<PackageReference Include="NicolasDorier.CommandLine" Version="1.0.0.2" />
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace BTCPayServer.Controllers
|
namespace BTCPayServer.Controllers
|
||||||
{
|
{
|
||||||
[BitpayAPIConstraint]
|
[Authorize(AuthenticationSchemes = Security.Policies.BitpayAuthentication)]
|
||||||
public class AccessTokenController : Controller
|
public class AccessTokenController : Controller
|
||||||
{
|
{
|
||||||
TokenRepository _TokenRepository;
|
TokenRepository _TokenRepository;
|
||||||
@@ -30,6 +30,7 @@ namespace BTCPayServer.Controllers
|
|||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Route("tokens")]
|
[Route("tokens")]
|
||||||
|
[AllowAnonymous]
|
||||||
public async Task<DataWrapper<List<PairingCodeResponse>>> Tokens([FromBody] TokenRequest request)
|
public async Task<DataWrapper<List<PairingCodeResponse>>> Tokens([FromBody] TokenRequest request)
|
||||||
{
|
{
|
||||||
PairingCodeEntity pairingEntity = null;
|
PairingCodeEntity pairingEntity = null;
|
||||||
@@ -53,7 +54,7 @@ namespace BTCPayServer.Controllers
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var sin = this.User.GetSIN() ?? request.Id;
|
var sin = this.User.GetSIN() ?? request.Id;
|
||||||
if (string.IsNullOrEmpty(request.Id) || !NBitpayClient.Extensions.BitIdExtensions.ValidateSIN(request.Id))
|
if (string.IsNullOrEmpty(sin) || !NBitpayClient.Extensions.BitIdExtensions.ValidateSIN(sin))
|
||||||
throw new BitpayHttpException(400, "'id' property is required, alternatively, use BitId");
|
throw new BitpayHttpException(400, "'id' property is required, alternatively, use BitId");
|
||||||
|
|
||||||
pairingEntity = await _TokenRepository.GetPairingAsync(request.PairingCode);
|
pairingEntity = await _TokenRepository.GetPairingAsync(request.PairingCode);
|
||||||
|
|||||||
Reference in New Issue
Block a user