zoukankan      html  css  js  c++  java
  • 添加 Azure Active Directory 服务,调用方法

     引入dll :Microsoft.IdentityModel.JsonWebTokens

    1
    string url = string.Format("{0}token", ConfigurationManager.AppSettings["AAdLoginUrl"]); 2 HttpClient client = new HttpClient(); 3 var dic_Form = new Dictionary<string, string>(); 4 dic_Form.Add("client_id", ConfigurationManager.AppSettings["Client_Id"]); 5 dic_Form.Add("scope", "openid"); 6 dic_Form.Add("code", codestr); 7 dic_Form.Add("redirect_uri", ConfigurationManager.AppSettings["Redirect_Uri"]); 8 dic_Form.Add("grant_type", "authorization_code"); 9 dic_Form.Add("client_secret", ConfigurationManager.AppSettings["Client_Secret"]); 10 var content = new FormUrlEncodedContent(dic_Form); 11 var response = client.PostAsync(url, content).Result; 12 resultStr = response.Content.ReadAsStringAsync().Result; 13 if (!string.IsNullOrEmpty(resultStr)) 14 { 15 //ADDResultModel根据文档创建的返回信息实体类,需要自己根据需求创建 16 var result = JsonConvert.DeserializeObject<ADDResultModel>(resultStr); 17 if (!string.IsNullOrEmpty(result.error_description)) 18 { 19 context.Response.Write(result.error_description); 20 } 21 if (!string.IsNullOrEmpty(result.access_token)) 22 { 23 JsonWebTokenHandler handler = new JsonWebTokenHandler(); 24 if (handler.CanReadToken(result.access_token)) 25 { 26 JsonWebToken jwt = handler.ReadJsonWebToken(result.access_token); 27 var claims = jwt.Claims; 28 Claim claim1 = claims.Where(i => i.Type == "oid").FirstOrDefault(); 29 Claim claim2 = claims.Where(i => i.Type == "unique_name").FirstOrDefault(); 30 Console.WriteLine(claim1.Value); 31 Console.WriteLine(claim2.Value); 32 } 33 } 34 }
    寻寻觅觅转流年,磕磕碰碰道缘浅。 揽几缕、轻挽起,暮暮朝朝与君语。
  • 相关阅读:
    2011年9月11日的最后几分钟开始学习Zend freamework
    PHP常用的调试技术 一周的时间正在整理
    二叉树最近共同祖先问题
    最近一段时间的思考
    字符编码笔记:ASCII,Unicode和UTF8
    node简介
    如何影响别人
    HTTP协议状态码详解(HTTP Status Code)
    jQuery常见的50种用法
    php上传多张图片
  • 原文地址:https://www.cnblogs.com/bingshao/p/14927784.html
Copyright © 2011-2022 走看看