public async Task <IActionResult> LoginCallbackAsync([FromBody] PostSimpleWalletLoginRequest request, [FromServices] NodeApiInvoker nodeApiInvoker, [FromServices] EosSignatureValidator eosSignatureValidator, [FromServices] IHubContext <SimpleWalletHub> hubContext, [FromServices] ILogger logger, CancellationToken cancellationToken) { logger.LogInfo(JsonConvert.SerializeObject(request)); var accountInfo = await nodeApiInvoker.GetAccountAsync(request.Account, cancellationToken); var keys = accountInfo.Permissions.Select(x => x.RequiredAuth).SelectMany(x => x.Keys).Select(x => x.Key).ToList(); var data = request.Timestamp + request.Account + request.UUID + request.Ref; //var verify = keys.Any(k => eosSignatureValidator.Verify(request.Sign, data, k).Result); //we will fix it later if (true) { await hubContext.Clients.Groups(request.UUID).SendAsync("simpleWalletLoginSucceeded", request.Account); return(Json(new PostSimpleWalletLoginResponse { Code = 0 })); } return(Json(new PostSimpleWalletLoginResponse { Code = 1, Error = "sign error" })); }
public async Task <IActionResult> Get([FromServices] EosSignatureValidator eosSignatureValidator) { return(Json(eosSignatureValidator)); }