Azure fhir - 生成令牌 php

Posted

技术标签:

【中文标题】Azure fhir - 生成令牌 php【英文标题】:Azure fhir - generate token php 【发布时间】:2019-11-11 16:39:40 【问题描述】:

如何使用 php 为 azure fhir 服务器生成令牌。我想要的是使用 guzzle 的后端/php 将生成一个令牌,该令牌将在 auth 标头中用于访问 fhir 服务器。我试过这个指南 https://kvaes.wordpress.com/2016/10/21/azure-using-php-to-go-all-oauth2-on-the-management-api/ ,但它会打开一个 Azure 门户登录。我希望它能够像其他 3rd 方 api 一样无缝地生成令牌。

【问题讨论】:

用户必须第一次登录,但之后您可以将令牌和/或刷新令牌存储在您的数据库中。 啊好的,所以没有其他方法可以从后端生成令牌?应该通过天蓝色登录门户完成?如果我们有 100 个用户,是否意味着我们需要将这些用户添加到 azure Active Directory 用户中? @chkm8 - 如果应用程序使用 AAD(Azure 活动目录)中的服务主体帐户,您可以在不弹出登录的情况下执行此操作 是的,您必须存储令牌。否则任何人都可以以任何用户身份登录。 @ELYusubov 我遵循了指令 docs.microsoft.com/en-us/azure/healthcare-apis/… ,虽然我生成了一个令牌,但我总是收到 Authentication failed 错误。知道我错过了什么吗? 【参考方案1】:

可以允许访问后端服务没有 AAD 登录弹出窗口。

只需研究在 AAD (Azure Active Directory) 中使用服务主体帐户即可。

这是描述它的一组帖子 - How-to guides:

Register a service client application in Azure Active Directory

一旦您设置了所有步骤并拥有 client_id、cleint_secretet 和资源,然后通过指向您的 azure AD 租户,您可以使用 postman 或 curl 获取有效令牌:

这里是邮递员的屏幕截图,以提供帮助:

【讨论】:

我尝试创建服务客户端应用程序并添加权限,但无法选择应用程序权限选项,您知道为什么会这样吗? 我按照docs.microsoft.com/en-us/azure/healthcare-apis/… 的说明进行操作,虽然我生成了一个令牌,但我总是收到 Authentication failed 错误。 @chkm8 你能分享你的令牌吗?通常令牌会出错oidaud...在jwt.ms 中查看您的令牌信息 @chkm8 如果您使用 FHIR API - 请确保将您的令牌 oid 添加到“允许的对象 ID”的身份验证选项卡中 是的,可以修复它。我的标题响应显示了 invalie_audience,我只是更新了观众并在 fhir 服务器中添加了 oid。它现在工作。谢谢

以上是关于Azure fhir - 生成令牌 php的主要内容,如果未能解决你的问题,请参考以下文章

从 Postman 生成 Azure 访问令牌

使用 Powershell 脚本生成 Azure Databricks 令牌

有没有办法重新生成 Azure Blob 存储 SAS 令牌

Azure 存储帐户生成 SAS 令牌,而不是 SAS URI

Azure Devops 生成的令牌的 openid-config url 是啥?

Azure SAS 令牌不适用于 Azure.Storage.Blobs BlobServiceClient