如何为移动客户端 return url 中的 oauth 令牌

How to return the oauth token in url for mobile clients

描述

在默认的 ASP.NET Web API 2 模板中,当通过向令牌端点发送 POST 请求来请求令牌时,服务器 returns 令牌作为一个 JSON 对象:

{
  "access_token": "ie3b1941J24Ev2hsR...",
  "token_type": "bearer",
  "expires_in": 299,
  "userName": "admin@mycoolwebsite.com",
  ".issued": "Tue, 23 Feb 2016 21:54:09 GMT",
  ".expires": "Tue, 23 Feb 2016 21:59:09 GMT"
}

问题

服务器是否可以returns将Token作为ReturnUrl?

更多信息

我有一个移动应用程序,它使用 WebView 加载我网站的登录页面。

在网站中,单击“登录”按钮后,它会向令牌端点发送 POST 请求,并将收到的 OAuth 令牌保存在 HTML5 会话存储中。

然后在移动端,我需要使用 Javascript 从 WebView 中提取此令牌,并将其用于我对服务器的下一个请求。

这是正确的做法吗?

当您使用 OAuth2 implicit grant 时,授权服务器将 return HTTP 重定向中的令牌,据我所知您正在寻找。

但是,在此流程中,将向用户显示登录屏幕的是授权服务器,而不是您的 Web 应用程序。