使用不记名令牌/OAuth2 的 Azure Functions 根 URL 身份验证
Posted
技术标签:
【中文标题】使用不记名令牌/OAuth2 的 Azure Functions 根 URL 身份验证【英文标题】:Azure Functions root URL authentication with bearer token/OAuth2 【发布时间】:2021-06-12 17:43:24 【问题描述】:我创建了一个函数应用程序。假设应用的根 URL 是:https://mycompanyportal.azurewebsites.net。我想验证根 URL 并在没有来自浏览器或任何地方的适当令牌的情况下返回“401 未授权”。
请注意,我已经可以成功验证(承载/OAuth2)对应用程序中托管的不同功能(但不是根 URL)的请求。假设“默认”是我的应用程序中的功能之一,那么我可以在调用 URL(https://mycompanyportal.azurewebsites.net/api/Default) 时验证请求。当控件到达函数代码的第一行时,我借助在 if 条件中调用的验证器方法完成了此操作。
请告诉我如何在代码中使用不记名/OAuth2 验证来验证函数应用的根 URL。 TIA
【问题讨论】:
你能显示代码吗? 【参考方案1】:一种方法是使用函数代理并将根 URL 重新路由到特定函数,其中配置了不记名令牌验证。在您的 proxies.json 中,您可以添加以下 json。因此,当您点击“https://example.com”(根 URL)时,它将被重新路由到您指定的函数并启用不记名令牌身份验证。
#proxies.json
"proxies":
"EmptyRouteProxy":
"matchCondition":
"route": "/"
,
"backendUri": "http://localhost:7071/api/SampleFunc"
【讨论】:
【参考方案2】:根 url 指向一个静态网页。看起来像这样:
可以禁用此页面。但是您无法对其进行身份验证 - 在此端点上不能有任何代码。
【讨论】:
以上是关于使用不记名令牌/OAuth2 的 Azure Functions 根 URL 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Security OAuth2 进行访问令牌请求的 JWT 不记名交换