在使用MSAL 1.0的Android应用中,我们可以成功登录Azure AD。但是,我们找不到获取ID令牌的方法。在线上的一些示例显示了两种获取ID令牌的方法:IAuthenticationResult.getIdToken()
和IAccount.getClaims().get("id_token")
。这两种方法都不适合我们。前者在IAuthenticationResult
中不作为方法存在。后者总是返回null。
我查看了进行登录的源代码,并注意到已获取ID令牌并将其解析为声明。但是,图书馆用户似乎无法以其原始格式使用它们。
我在调试过程中已验证是否正在获取有效的ID令牌。
我们的应用程序需要将ID令牌传递到我们的后端服务器。
还有使用MSAL访问ID令牌的另一种方法吗?
顺便说一句,我们在iOS和MSAL上没有此问题。
答案 0 :(得分:0)
我已经确认该功能在Android版本中不存在(尽管ID令牌在iOS版本中可以作为字符串访问)。它将在将来实施。供参考,请看这里:
https://github.com/AzureAD/microsoft-authentication-library-for-android/issues/850