x-zumo-auth使用Postman 在Chrome和标头中进行身份验证时,我的API应用程序使用控制器中的以下代码成功识别用户的upn:
Runtime runtime = Runtime.FromAppSettings(Request);
EmaUserInfo user = runtime.CurrentUser;
TokenResult token = await user.GetRawTokenAsync("aad");
string upn = token.Claims[ClaimTypes.Upn];
Run Code Online (Sandbox Code Playgroud)
但是,当使用Microsoft的AzureCards控制台客户端示例中的代码(将浏览器添加到窗体窗口并捕获zumo令牌)时,我无法获取用户的aad令牌并从API应用程序中收到以下错误:
Request to https://[gateway].azurewebsites.net/api/tokens?tokenName=aad&api-version=2015-01-14 GET failed BadRequest 400 (Bad Request)
{
"status": 400,
"source": "https://[gateway].azurewebsites.net/api/tokens?tokenName=aad&api-version=2015-01-14",
"message": "Microservice '[API App]' only has permissions for token ''. Can't get token 'aad'"
}
Run Code Online (Sandbox Code Playgroud)
有趣的是,这甚至发生在我设置断点并将zumo令牌从我的测试程序复制到邮递员时.程序失败,邮递员成功返回.据我所知,他们发送完全相同的请求.我能错过什么?
编辑:我已经做了一些测试,发现Postman方法在隐身模式下完成时会产生相同的错误.这让我相信它不仅仅是x-zumo-auth需要设置的标题,而且还需要设置一些cookie以便用户正常工作.如果我生成令牌,从apiapp url中删除cookie并仅使用令牌POST请求,我也会收到错误.
我有一个与这篇文章类似的问题:使用 ADAL 对 Azure API 应用程序进行身份验证,但就我而言,我有一个客户,其 Java 客户端托管在 JBoss 中,需要访问我的 API。该服务被保护为“公共(经过身份验证)”,并且我从浏览器访问它没有任何问题。我知道我可以在 .net 中创建 Azure API 应用程序客户端,但我找不到任何有关如何从 Java 进行身份验证的示例。目前这是否可能,如果可以,是否有人有任何有帮助的样本或建议?
azure API-apps,逻辑应用程序,web-apps和azure功能有什么区别?它对开发人员有什么不同?
cloud azure azure-mobile-services azure-logic-apps azure-api-apps
目前我在英国有 Azure API 应用程序,但我想在香港为我在中国的用户创建一个代理来访问服务器,而不会对连接在欧盟分配的数据库服务器产生太大的性能影响。
我只是在位于东亚的 Azure 功能上设置了代理功能。不幸的是,我通过邮递员在 api 请求中不断收到错误代码 500。
如何跟踪导致错误代码 500 的错误?
我已将asp.net core 2.0.应用程序部署到azure linux docker容器中,并且我试图找出处理应用程序日志的最佳方法。
我只是无法进入一些好的/最佳实践工作流。
当然,对日志有Kudu服务或FTP访问,它们都显示docker日志,但问题是如何很好地处理日志级别?
像往常一样,我想Warning在生产中打开和打开,但如果出现问题,我想打开Trace以查看所有内容,但不进行重新部署/重新启动/任何操作。由于我们在docker中并且无法访问,appsettings.json因此reloadOnChange显然无法正常工作,我不确定该怎么做?
这种情况下的最佳实践是什么?
我有一个api,其响应如下
"prop1":"SomeValu1",
"prop2":"SomeValue2" ,
"prop3
":null,
"prop4":"SomeValue4"
问题是,基于输入,一些属性将为null(预期行为),我不希望在响应中返回.像这样的东西(prop3不存在)
"prop1":"SomeValu1",
"prop2":"SomeValue2",
"prop4":"SomeValue4"
哪个属性为null基于运行时逻辑.任何想法我怎么能这样做?
我试图列出与工作项关联的所有拉取请求,但根据工作项 API,似乎没有办法获取它:
GET https://dev.azure.com/{org}/{project}/_apis/build/builds/123456/workitems?api-version=6.0
Run Code Online (Sandbox Code Playgroud)
上面返回工作项列表,例如:
{
"count": 40,
"value": [
{
"id": "156267",
"url": "https://dev.azure.com/xxx/_apis/wit/workItems/12345"
},
...
]
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我仍然决定查询每个返回的工作项,我仍然看不到拉取请求。例如:
GET https://dev.azure.com/xxx/_apis/wit/workItems/12345
Run Code Online (Sandbox Code Playgroud)
上面返回一个关于对工作项进行的更新的 JSON 对象,但这可以是提交、状态更新或注释。
有没有办法获取每个工作项目的 PR 列表?
谢谢
azure-api-management azure-api-apps azure-devops azure-devops-rest-api