了解 Angular、ADFS 和 .NET Web API 的 OAuth 授权代码流

Understanding OAuth authorization code flow with Angular, ADFS and .NET Web API

我有一个 AngularJS Web 应用程序,它从 API 请求数据,用 .NET Web API 编写。

现在,我使用我的客户端 ID 配置了 ADFS 3.0 OAuth,并使用授权码授予流程重定向 URL(https://www.someredirecturl.index.html)。

我还有一个 .NET Web API returns 一些值。 例如 https://www.example.com/showData

  1. 每当我调用 URL 时,ADFS 登录屏幕就会出现。

  2. 然后,浏览器使用授权码重定向到我的Redirect_URL。例如 https://www.someredirecturl.index.html?code=xxxxxxxxx

  3. 然后,我捕获代码并将其发送到 ADFS 服务器(POST REQUEST)以获取令牌。

  4. 现在,我有令牌了。

完成这一步后,我应该可以使用授权码调用我的 API https://www.example.com/showData:Bearer + token。

但是,如果不在服务器端编写任何内容,它是如何工作的。 我是否必须使用密钥授权读取 headers,提取令牌? 最好的方法是什么?

在任何时候,我是否会直接在浏览器上看到数据,或者它总是会被一些发送 headers.

的程序调用

如果 www.example.com 是一个网站呢? www.example.com/api 是资源端点。如何合并他们两个。当他在 ADFS 上输入他的凭据时,用户可以登录到 www.example.com 吗?如何使用授权码从 Redirect_URL 重定向?

是 - 根据 this

基本上:

  • 检查 JWT 是否格式正确
  • 检查签名
  • 验证标准声明
  • 检查客户端权限(范围)

jwt.io 有许多图书馆可以为您完成这项工作。