我正在尝试使用Active Directoy访问令牌访问Databricks的REST API。
为此,请从 Active Directory-> App Registration-> AAD App:
在API权限中,我添加了AzureDatabricks API
然后,我尝试从Databricks REST API访问任何数据,但始终会遇到相同的错误:
“ io.jsonwebtoken.security.SignatureException:JWT签名与本地计算的签名不匹配。无法声明JWT有效性,也不应该信任JWT有效性。”
我要请求的端点之一是:
https://adb-XXXXXXXXXXXXXXX.azuredatabricks.net/api/2.0/token/list
此访问令牌使我可以向我的Graph API发送请求,因此我猜该令牌还可以。如果我的访问令牌已过期,则返回该令牌已过期...
要做所有尝试,我都在使用失眠症(类似于Postman)。
我在做什么错?我需要做更多的事情吗?
预先感谢
答案 0 :(得分:1)
如果要请求Databricks API,则访问令牌不能请求Graph API。 此doc显示如何获取有关Databricks的访问令牌。
https://login.microsoftonline.com/<tenant>/oauth2/authorize?client_id=<client-id>
&response_type=code
&redirect_uri=<redirect URI in encoded format: e.g., http%3A%2F%2Flocalhost>
&response_mode=query
&resource=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
&state=<a random number or some encoded info>
确保resource
为2ff814a6-3304-4ab8-85cb-cd0e6f879c1d
(
user_impersonation权限)。您将获得code
,将在下一步中使用。
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded
client_id={client id}
&scope=https://azuredatabricks.net//user_impersonation
&code={code}
&redirect_uri=http://localhost
&grant_type=authorization_code
您可以使用访问令牌来请求Databricks API。
另一方面,当与登录有关时,不建议使用Postman。