初始化
This commit is contained in:
164
UseSQLQueryData/Controllers/HiWeiController.cs
Normal file
164
UseSQLQueryData/Controllers/HiWeiController.cs
Normal file
@@ -0,0 +1,164 @@
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using Common;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using NLog;
|
||||
using RestSharp;
|
||||
|
||||
namespace UseSQLQueryData.Controllers
|
||||
{
|
||||
[Route("api/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class HiWeiController : ControllerBase
|
||||
{
|
||||
|
||||
public static string HiWeiKey = "HiWei_";
|
||||
public static int ExpireTimer = 60 * 3;
|
||||
public string? HiWeiAppId { get; set; }
|
||||
public string? HiWeiAppSecret { get; set; }
|
||||
|
||||
public IConfiguration ConfigurationBuilder { get; set; }
|
||||
|
||||
|
||||
public static Logger logger = NLog.LogManager.GetCurrentClassLogger();
|
||||
public HiWeiController(IConfiguration config)
|
||||
{
|
||||
this.ConfigurationBuilder = config;
|
||||
HiWeiAppId = config["HiWeiAppId"];
|
||||
HiWeiAppSecret = config["HiWeiAppSecret"];
|
||||
}
|
||||
|
||||
[HttpGet()]
|
||||
//public ReturnInfo HiWeiOAuthRequest(string response_type, string client_id, string client_secret, string redirect_uri)
|
||||
public ReturnInfo HiWeiOAuthRequest(string? response_type, string? client_id, string? client_secret, string? redirect_uri, string? code, string? refresh_token)
|
||||
{
|
||||
|
||||
ReturnInfo returninfo = new ReturnInfo();
|
||||
try
|
||||
{
|
||||
//code wijsv8hf5izejkny 6c1014dab24c41369068d12e4f7e145c http://tvos.hw-iot.com.cn/voice-service/token/auth/SKG9ZSC3|
|
||||
logger.Error("Data:" + response_type + " " + client_id + " " + client_secret + " " + redirect_uri);
|
||||
Random r = new Random();
|
||||
int newcode = r.Next(1, 10000);
|
||||
string id = HiWeiAppId;
|
||||
string secret = HiWeiAppSecret;
|
||||
string Key = HiWeiKey + newcode;
|
||||
if (response_type.Equals("code") && client_id.Equals(id) && client_secret.Equals(secret))
|
||||
{
|
||||
var t1 = Guid.NewGuid().ToString();
|
||||
var t2 = Guid.NewGuid().ToString();
|
||||
|
||||
var t3 = Guid.NewGuid().ToString();
|
||||
var t4 = Guid.NewGuid().ToString();
|
||||
var token = Convert.ToBase64String(Encoding.UTF8.GetBytes(t1 + "###" + t2));
|
||||
var reftoken = Convert.ToBase64String(Encoding.UTF8.GetBytes(t3 + "###" + t4));
|
||||
|
||||
HiWeiToken g = new HiWeiToken();
|
||||
g.access_token = token;
|
||||
g.refresh_token = reftoken;
|
||||
g.expires_in = new TimeSpan(20, 0, 0).TotalSeconds;
|
||||
|
||||
CSRedisCacheHelper.redis3.Set(Key, g, ExpireTimer);
|
||||
CSRedisCacheHelper.redis3.Set(refresh_token, g, ExpireTimer);
|
||||
|
||||
var client1 = new RestClient(redirect_uri);
|
||||
var request1 = new RestRequest("", Method.Get);
|
||||
request1.AddQueryParameter("code", newcode);
|
||||
|
||||
var QQQ = client1.Execute(request1);
|
||||
var content = QQQ.Content;
|
||||
logger.Error("返回的数据为:" + content);
|
||||
HttpStatusCode HHH = QQQ.StatusCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
returninfo.isok = false;
|
||||
returninfo.message = "没有授权";
|
||||
}
|
||||
Dictionary<string, int> codere = new Dictionary<string, int>();
|
||||
codere.Add("code", newcode);
|
||||
returninfo.isok = true;
|
||||
returninfo.response = codere;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
returninfo.isok = false;
|
||||
returninfo.message = ex.Message;
|
||||
}
|
||||
return returninfo;
|
||||
}
|
||||
|
||||
[HttpGet()]
|
||||
public object mytoken(string code)
|
||||
{
|
||||
|
||||
return "aaaaa";
|
||||
}
|
||||
|
||||
[HttpPost()]
|
||||
public object gettoken([FromBody] Data data)
|
||||
{
|
||||
//ReturnInfo re = new ReturnInfo();
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
var ttt = System.Text.Json.JsonSerializer.Serialize(data);
|
||||
logger.Error("获取token:" + ttt);
|
||||
string grant_type = data.grant_type;
|
||||
string code = data.code;
|
||||
|
||||
if (grant_type.Equals("authorization_code"))
|
||||
{
|
||||
logger.Error("code: " + code);
|
||||
string Key = HiWeiKey + code;
|
||||
var hi = CSRedisCacheHelper.redis3.Get<HiWeiToken>(Key);
|
||||
|
||||
if (hi != null)
|
||||
{
|
||||
logger.Error("返回了");
|
||||
return hi;
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.Error("没有获取到");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else if (grant_type.Equals("refresh_token"))
|
||||
{
|
||||
var hi = CSRedisCacheHelper.redis3.Get<HiWeiToken>("11111232323");
|
||||
if (hi != null)
|
||||
{
|
||||
return hi;
|
||||
}
|
||||
else
|
||||
{
|
||||
return hi;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
public class Data
|
||||
{
|
||||
public string code { get; set; }
|
||||
public string grant_type { get; set; }
|
||||
public string client_secret { get; set; }
|
||||
public string client_id { get; set; }
|
||||
|
||||
}
|
||||
public class HiWeiToken
|
||||
{
|
||||
public string access_token { get; set; }
|
||||
public string refresh_token { get; set; }
|
||||
public double expires_in { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user