基于前辈的知识,总结出了如下的代码实现。在使用的时候,建议使用授权模式变形,通过用户名密码或其他信息获取clientId,
using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;
namespace Service.Controllers
{
/// <summary>
/// 身份认证
/// </summary>
public class OAuthController : ApiController
{
#region 配置
//code有效时间/分钟
int codeValidTime = 10;
//token有效时间/分钟
int accesstokenValidTime = 60;
dynamic returnData = new ExpandoObject();
private OAuthController()
{
returnData.Massage = "";
returnData.Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
returnData.Note = "";
returnData.Status = 0;
}
#endregion
#region 授权码模式
/// <summary>
/// 1、【授权码模式】获取Code【有效时间:10min,获取令牌必备使用1次后失效】
/// </summary>
/// <param name="clientId">表示客户端的ID,必选项</param>
/// <param name="redirectUri">表示重定向URI,可选项</param>
/// <param name="scope">表示申请的权限范围,可选项</param>
/// <param name