我们将在Azure中运行D365 CRM,现在我们试图找出如何授权对我们的onprem api的调用。
该场景被简化为类似;用户正在D365 CRM中保存注释,当发生这种情况时,我们还希望调用onprem api。
我们要使用Azure ID令牌(具体来说是NOT Access令牌)进行呼叫。这是在访问api时授权用户。
是否可以获取ID令牌并随呼叫一起发送?到目前为止,我们仅设法获取了不够好的访问令牌。我们应该如何检索ID令牌?
答案 0 :(得分:1)
您正在混合OAuth / OpenID Connect的基本概念。调用API时,您必须使用access_token
。 id_token
的目的不是在API中做出授权决定,而是在Client App中获取有关用户的基本信息。
您可以找到一个really good formulated and compact article on the subject here。
当您拥有access_token
并且是正确的密码时,它会包含您需要的所有信息:
可以使用API后端的Microsoft Graph获得任何其他信息(可能是id_token的一部分)。
以下是一些有用的参考资料:
请注意两种令牌类型中的声明引用。