我正在Azure应用程序服务中部署Web API。Web API使用Azure AD进行保护。我计划使用API Management将api公开给不同的用户。
现在,我已经在API Management中启用了对开发人员门户的基本身份验证。此外,我还为后端服务器启用了OAuth 2.0身份验证(用户授权)。因此,如果我登录到开发人员门户,我会看到两个字段- Subscription Key和Authorization。订阅密钥将是开发人员对门户的订阅,授权将是后端服务器所需的OAuth授权。
另外,如果任何用户需要访问api管理url,则用户需要在查询字符串中传递订阅密钥,在授权头部中传递token (例如:桌面客户端)。
有没有办法通过只使用JWT令牌而不使用订阅密钥来调用api managament url (但我仍然需要知道哪个开发人员/用户访问了该服务)。我期待的是一个令牌,它可以用于向开发人员门户验证用户身份,也可以用于向后端api进行身份验证(通过转换为后端服务器令牌或任何其他方式)。
谢谢,
约翰
发布于 2017-03-15 01:38:45
APIM中的订阅密钥与用户和产品绑定,因此,如果您更改(或创建新的)产品以不需要订阅(在创建时或在产品设置中提供的选项),则不需要订阅密钥来调用此类产品中包含的任何API。
缺点是APIM会将所有这样的呼叫视为匿名,并在分析中显示为匿名。
https://stackoverflow.com/questions/42742242
复制相似问题