我有一个API api/GetPets
,该API也被多个具有相同Azure客户端ID ClientA, ClientB
的{{1}}客户端使用。
*****
进行身份验证并使用ClientA
时,我想获得令牌中的客户端名称或通过某种方式来标识调用API的客户端。是否有解决此问题的解决方案?
答案 0 :(得分:0)
区分调用客户端应用程序的方法是使用不同的客户端ID。
如果您想区分它们之间的区别,则必须分别注册它们,以便它们具有不同的客户端ID。
答案 1 :(得分:0)
@junnas的答案是正确的,可能是最好的方法。我唯一想到的另一种方法是在HTTP请求上显式传递客户端名称。这仅适用于100%受信任的客户端。否则,没有任何事情可以阻止任何具有有效auth令牌的客户端篡改HTTP请求上的客户端名称。如果客户端名称在签名的身份验证令牌(JWT)中,则将检测到并阻止任何篡改。