Basf_FCL/FCL/FineUIPro.Web/ssocallback.aspx.cs

69 lines
1.9 KiB
C#
Raw Normal View History

2024-05-08 10:17:02 +08:00
using BLL;
using BLL.Common;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web
{
public partial class ssocallback : System.Web.UI.Page
{
private string code = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
this.code = Request.Params["code"];
if (string.IsNullOrEmpty(this.code))
{
Response.Redirect("~/login.aspx");
return;
}
GetAccessToken(this.code);
}
private AccessTokenModel GetAccessToken(string _code)
{
string clientId = "";
string clientSecret = "";
string grant_type = "authorization_code";
string redirect_url = "http://localhost:6166/ssocallback.aspx";
string scope = "profile openid";
string baseUrl = $" https://login.microsoftonline.com/ecaa386b-c8df-4ce0-ad01740cbdb5ba55/oauth2/v2.0/token";
try
{
string postData = $"code={code}&client_id={clientId}&client_secret={clientSecret}&grant_type={grant_type}&redirect_uri={redirect_url}&scope={scope}";
string result = BLL.Common.HttpHelper.HttpPostRequest(baseUrl, postData, string.Empty);
var Data = JsonConvert.DeserializeObject<AccessTokenModel>(result);
return Data;
}
catch (Exception ex)
{
ErrLogInfo.WriteLog(ex.Message);
}
return null;
}
private void getUserInfo(string _code)
{
var objData = GetAccessToken(_code);
if (objData == null)
{
//退出去login页面
return;
}
string baseUrl = "https://graph.microsoft.com/oidc/userinfo";
}
}
}