61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			61 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using AOP.Common;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Net.Http;
							 | 
						|||
| 
								 | 
							
								using System.Text;
							 | 
						|||
| 
								 | 
							
								using System.Threading.Tasks;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace SgManager.AI
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								  public static  class IDCardToken
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        // 调用getAccessToken()获取的 access_token建议根据expires_in 时间 设置缓存
							 | 
						|||
| 
								 | 
							
								        // 返回token示例
							 | 
						|||
| 
								 | 
							
								        public static String TOKEN = "24.adda70c11b9786206253ddb70affdc46.2592000.1493524354.282335-1234567";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        // 百度云中开通对应服务应用的 API Key 建议开通应用的时候多选服务
							 | 
						|||
| 
								 | 
							
								        private static String clientId = System.Configuration.ConfigurationManager.AppSettings["ID_API_KEY"].ToString();// "onreA4ms0OUi2eclj8CnMoaV";
							 | 
						|||
| 
								 | 
							
								        // 百度云中开通对应服务应用的 Secret Key
							 | 
						|||
| 
								 | 
							
								        private static String clientSecret = System.Configuration.ConfigurationManager.AppSettings["ID_SECRET_KEY"].ToString();// "ge8kERfb5uxqUKyOhdLMD2ozumNUigjY";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private static String getBaiduAccessToken()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            String authHost = "https://aip.baidubce.com/oauth/2.0/token";
							 | 
						|||
| 
								 | 
							
								            HttpClient client = new HttpClient();
							 | 
						|||
| 
								 | 
							
								            List<KeyValuePair<String, String>> paraList = new List<KeyValuePair<string, string>>();
							 | 
						|||
| 
								 | 
							
								            paraList.Add(new KeyValuePair<string, string>("grant_type", "client_credentials"));
							 | 
						|||
| 
								 | 
							
								            paraList.Add(new KeyValuePair<string, string>("client_id", clientId));
							 | 
						|||
| 
								 | 
							
								            paraList.Add(new KeyValuePair<string, string>("client_secret", clientSecret));
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            HttpResponseMessage response = client.PostAsync(authHost, new FormUrlEncodedContent(paraList)).Result;
							 | 
						|||
| 
								 | 
							
								            String result = response.Content.ReadAsStringAsync().Result;
							 | 
						|||
| 
								 | 
							
								            Console.WriteLine(result);
							 | 
						|||
| 
								 | 
							
								            return result;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        public static AccessTokenModel GetAccessToken()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            AccessTokenModel tempAccessTokenModel = new AccessTokenModel();
							 | 
						|||
| 
								 | 
							
								            string tempData = getBaiduAccessToken();
							 | 
						|||
| 
								 | 
							
								            if (tempData.Contains("\"error\""))
							 | 
						|||
| 
								 | 
							
								            {//标识异常
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                tempAccessTokenModel.IsSuccess = false;
							 | 
						|||
| 
								 | 
							
								                tempAccessTokenModel.ErrorModel = Json.ToObject<ErrorAccessTokenModel>(tempData);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {//标识正常
							 | 
						|||
| 
								 | 
							
								                tempAccessTokenModel.IsSuccess = true;
							 | 
						|||
| 
								 | 
							
								                tempAccessTokenModel.SuccessModel = Json.ToObject<SuccessAccessTokenModel>(tempData);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            return tempAccessTokenModel;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |