C# WebApi接口访问认证配置帮助类

发布时间 2023-04-06 12:10:04作者: jxw_29

1.App_Data文件夹下添加oauthconfig.json文件

[
{
"Client_Key": "name",
"Client_Secret": "password",
"Client_IP": [],
"Scope": [ "external" ]
},
{
"Client_Key": "name1",
"Client_Secret": "password1",
"Client_IP": [],
"Scope": [ "external" ]
},
{
"Client_Key": "name2",
"Client_Secret": "password2",
"Client_IP": [],
"Scope": [ "external" ]
}
]

2.添加帮助类

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;

namespace ABBPMP.WebApi
{
/// <summary>
/// API接口访问认证配置帮助类
/// </summary>
public class OAuthConfigHelper
{
public List<OAuthConfigModel> configs;

public OAuthConfigHelper()
{
string filepath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data/oauthconfig.json"),
config = File.ReadAllText(filepath);
configs = JsonConvert.DeserializeObject<List<OAuthConfigModel>>(config);
}

public OAuthConfigModel GetConfig(string clientKey)
{
if (configs != null && configs.Count > 0)
{
return configs.Where(q => q.Client_Key == clientKey).FirstOrDefault();
}

return null;
}
}

#region 内部类
public class OAuthConfigModel
{
public string Client_Key { get; set; }
public string Client_Secret { get; set; }
public string[] Client_IP { get; set; }
public string[] Scope { get; set; }
}
#endregion
}

3.使用帮助类

var oauthConfig = new OAuthConfigHelper().GetConfig("name");
if (oauthConfig == null)
{
return false;
}

var strPwd == oauthConfig.Client_Secret