使用Angular,ADFS和.NET Web API了解OAuth授权代码流

时间:2017-08-31 23:20:25

标签: c# angularjs asp.net-web-api oauth adfs

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

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

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

  1. 每当我调用URL时,都会显示ADFS登录屏幕。

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

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

  4. 现在,我有了令牌。

  5. 完成此步骤后,我应该能够使用授权码:承载+令牌调用我的API https://www.example.com/showData

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

    在任何时候,我都会直接在浏览器上看到数据,或者某些程序发送标题会一直调用它。

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

1 个答案:

答案 0 :(得分:1)

是的 - 按照this

基本上:

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

jwt.io有很多图书馆为你做这件事。