c# - 在 Web Api 中验证 AzureAD 令牌
问题描述
我有一个在 Azure AD 中注册的 dotnet core Web Api 项目。当我想访问它时,我从 Azrue AD 请求一个令牌,并且使用该令牌我可以访问我的 API。这没有问题。我配置 API 的方式是:
services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme)
.AddAzureADBearer(options => Configuration.Bind("AzureAd",options));
然后我想做的是为每个访问我的 API 的请求验证令牌。我想知道是谁请求了令牌(clientID)和其他信息。这是可能的还是我采取了错误的方法?
/克里斯托夫
解决方案
你在正确的轨道上。
Azure AD 令牌将包含声明,因此您可以从中确定谁在请求访问。
更多信息在这里:
https ://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens
此处的示例:
https ://docs.microsoft.com/en-us/azure/active-directory/develop/sample-v2-code
您还可以使用https://jwt.io/来破解 JWT 令牌,以检查其中的声明。
推荐阅读
- swift - 如何根据iOS版本在一个应用程序中添加两个应用程序?
- r - 在 R Jags 中模拟 Pareto 分布(贝叶斯)
- javascript - 检查 JavaScript 对象中的多个键?
- angular - 无法在angular7中查看html中的数据
- entity-framework - Automapper:映射多对多
- erlang - 为 file:get_cwd() 获取 {error, enoent} 的常见原因是什么?
- python-3.x - 在列中出现两行
- angular - 默认情况下选中单选按钮,它们不应该被选中
- android - 我想找到用户的行程详细信息(行程起点、终点、速度、硬中断、电话使用情况、事故)。(安卓开发)
- django - 带有mongoengine的django rest框架中不区分大小写的排序