javascript - Microsoft OAuth 不返回刷新 token

标签 javascript c# asp.net .net oauth

33我向 Microsoft 发出以下请求以获取 AuthCode,

public ActionResult ConnectMicrosoft()
{
    var ClientId = "xxxxxxxxx";
    // var ClientSecret = "xxxxxxxxxxxxxxx";
    var RedirectUri = "http://www.domain.com:50952/Settings/MicrosoftAuthCallback";
    var MsUrl = String.Format("https://login.live.com/oauth20_authorize.srf?client_id={0}&scope=wl.basic&response_type=code&redirect_uri={1}", ClientId, RedirectUri);
    return Redirect(MsUrl);
}

在回调期间,

public ActionResult MicrosoftAuthCallback(string code)
{
    string result = null;
    var ClientId = "xxxxxxxxxxxx";
    var ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxx";
    var RedirectUri = "http://www.domain.com:50952/Settings/MicrosoftAuthCallback";
    var FinalUri = String.Format("https://login.live.com/oauth20_token.srf?client_id={0}&client_secret={1}&code={2}&grant_type=authorization_code&redirect_uri={3}", ClientId, ClientSecret, code, RedirectUri);
    HttpWebRequest _Request = HttpWebRequest.Create(FinalUri) as HttpWebRequest;
    _Request.Method = "GET";
    using (WebResponse _Response = _Request.GetResponse())
    {
        var sr = new StreamReader(_Response.GetResponseStream());
        result = sr.ReadToEnd();
        sr.Close();
    }
    var _Serializer = new JavaScriptSerializer();
    var TokenData = _Serializer.Deserialize<MicrosoftToken>(result);
    return View();
}

回调方法成功返回access_token、tokentype、expires_in和authentication_token,但缺少刷新token。你能告诉我我做错了什么吗?

最佳答案

呵呵,忘记包含范围,wl.offline_access,还请求必须使用 ContentType =“application/x-www-form-urlencoded”进行 POST

关于javascript - Microsoft OAuth 不返回刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26756800/

相关文章:

c# - 将基类发送到接收派生类的方法 - C#

c# - 如何从解决方案中的类访问我的 ASP.NET 页面上的控件?

asp.net - 即时生成 Powerpoint 文件

javascript - 从 karma 服务器提供脚本文件

javascript - Vue Leaflet 不渲染 map

javascript - 如何在 QUnit 中测试自定义断言

c# - 一段时间后如何隐藏微调器?

javascript - 使用ajax php mysql发送单选按钮值

javascript - InvokeScript() 方法返回 null

c# - 使用 SignalR 将通知从 Web 应用程序推送到桌面 Windows 窗体应用程序的可行性