首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OpenAPI (FunctionApps)的Azure API管理获得401

使用OpenAPI (FunctionApps)的Azure API管理获得401
EN

Stack Overflow用户
提问于 2020-11-16 02:21:15
回答 1查看 419关注 0票数 0

我的需求是托管API,后端是Function Apps。我还想要这些Api的文档(通过function-App代码自动生成(这样我就不必编写关于Api-management的文档))

我已经设置了应用程序接口管理,以便从通过我的FunctionApp中的URL公开的swagger文件(OpenAPI)导入API。

API看起来很好,我可以在API-Management上的Developer-Portal中看到它。但当我实际进行调用时,它失败了,返回401。

我猜测当API-Management发送请求时,发送给FunctionApp的令牌是错误的或丢失的。

我的问题是如何/在哪里配置在function应用上配置的令牌。

第二,这是否正确的做法?我正在使用Swagger块来配置/生成functionApp上的API文档,并将该swagger-json导入到API-Management (OpenAPI选项)中,或者是否有更好的方法通过api-management公开functionapp API的文档。

附注:如果我使用FunctionApps选项导入API,一切正常,但我没有得到我想要的文档。

提亚

EN

回答 1

Stack Overflow用户

发布于 2020-11-16 08:46:44

swagger的:考虑使用Swashbuckle请参阅此reference。NSwag是另一种选择。

Functions:Function App可以匿名访问,也可以需要密钥。有多级密钥(reference)。应用程序的密钥位于应用程序密钥刀片中

(注意:微软正在调整用户界面,因此这可能会发生变化)。

各个功能的键可以在功能的功能键刀片中找到。

如果函数需要一个键,则必须将其与请求一起传递。

APIM接口:APIM中的每个接口必须是一个或多个产品的一部分。产品包含API。API包含端点/操作。对产品的访问权限由subscription keys控制。API和操作也可以决定是否需要订阅。如果需要订阅密钥,则必须随请求一起传递。

APIM支持全局(所有API )、API(所有操作)和单个API的策略。这些策略可能涉及检查先决条件(例如JWT持有者令牌),它们可以返回客户响应代码,如401。检查您是否提供了必要的先决条件。

在APIM中,当添加新的API时,您可以选择一个函数App并从现有的Azure函数中选择。它应该会自动设置函数auth (你不必自己处理键的传递)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64848153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档