You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android使用MSAL访问Azure App Proxy注册的IIS服务返回登录页

问题描述

我们已将IIS服务注册至Azure App Proxy,在Android端通过MSAL获取Access Token后,将其放入Authorization: Bearer请求头中发起SOAP请求。MSAL可正常返回Token,但调用该服务时(包括Postman测试)均返回微软登录页面。使用的MSAL库为AzureAD官方Android版本。

相关截图说明:

  • Postman测试请求返回微软登录页面的截图
  • 成功获取到的Access Token信息截图

核心代码片段

获取账号及登录逻辑:

mSingleAccountApp.getCurrentAccountAsync(new ISingleAccountPublicClientApplication.CurrentAccountCallback() {
    @Override
    public void onAccountLoaded(@Nullable IAccount activeAccount) {
        if (activeAccount == null) {
            final SignInParameters signInParameters = SignInParameters.builder()
                    .withActivity(getActivity())
                    .withCallback(getAuthInteractiveCallback())
                    .withScopes(Arrays.asList(scopes))
                    .withLoginHint(pwdMailAdder)
                    .build();

            mSingleAccountApp.signIn(signInParameters);
        }
        else {
            mAccount = activeAccount;
        }
    }
}

认证回调逻辑:

private AuthenticationCallback getAuthInteractiveCallback() {
    return new AuthenticationCallback() {
        @Override
        public void onSuccess(IAuthenticationResult authenticationResult) { ...}
    }
}
排查建议
  • 验证Token受众(Audience):解码Access Token,检查aud声明是否与Azure App Proxy对应企业应用的Application ID URI完全匹配。受众不匹配会直接触发登录跳转。
  • 检查请求权限范围(Scopes):请求Token时的scopes必须为目标Azure App Proxy应用的专属范围,格式为{应用的Application ID URI}/.default,避免使用User.Read这类通用Graph API范围。
  • 确认Azure App Proxy预身份验证设置:确保企业应用的预身份验证模式设为“Azure Active Directory”,未配置额外的访问控制规则拦截合法Token。
  • 校验Token有效性:解码Token查看是否过期,以及是否包含oid(用户对象ID)、tid(租户ID)等必要声明,确保签名合法有效。
  • Postman请求细节排查:确认Authorization头格式为Bearer {Token},无多余空格或拼写错误;请求URL必须使用Azure App Proxy分配的外部访问地址,不能直接访问内部IIS地址。
  • Android端Token获取校验:在onSuccess回调中确认获取的是authenticationResult.getAccessToken(),而非ID Token或其他类型令牌。

内容的提问来源于stack exchange,提问作者성체 유미

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:11:15