微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MIP SDK 和 AD RMS 错误“MSIS9622:客户端身份验证失败”

如何解决MIP SDK 和 AD RMS 错误“MSIS9622:客户端身份验证失败”

我已按照 AD RMS 和 MIP SDK 教程进行操作,并已使用 AD RMS、ADFS 设置了环境

以下是我的代码片段:

var enginesettings = new FileEnginesettings("internal\\sysadmin",authDelegate,"","en-US");
enginesettings.Identity = new Identity("internal\\sysadmin");
enginesettings.ProtectionCloudEndpointBaseUrl = "https://adrms.server.com";
enginesettings.ProtectionOnlyEngine = true;
var fileEngine = Task.Run(async () => await fileProfile.AddEngineAsync(enginesettings)).Result;

...snip...

var fileHandlerResult = Task.Run(async () => await fileHandler.CommitAsync(protectedFilePath)).Result;

在 CommitAsync 行,用户重定向到 ADFS 登录页面登录 - 然后他们被重定向到“身份验证失败”页面,该页面显示

Error details: error access_denied error_description: MSIS9622: Client authentication Failed. Please verify the credential provided for client authentication is valid.

是否需要对 MIP SDK 示例进行其他更改才能使其与 ADFS 配合使用?这是我的 AuthDelegateImplementation 的片段

public string Acquiretoken(Identity identity,string authority,string resource,string claims)
        {
            _app = PublicclientApplicationBuilder.Create(_appInfo.ApplicationId)
                .WithAdfsAuthority("https://adfs.server.com/adfs/",false)
                .WithRedirectUri("http://localhost:50069")
                .Build();

            var accounts = _app.GetAccountsAsync().GetAwaiter().GetResult();

            // Append .default to the resource passed in to Acquiretoken().
            string[] scopes = { resource[^1].Equals('/') ? $"{resource}.default" : $"{resource}/.default" };

            var result = _app.AcquiretokenInteractive(scopes)
                .WithAccount(accounts.FirstOrDefault())
                .WithPrompt(Prompt.SelectAccount)
                .ExecuteAsync()
                .ConfigureAwait(false)
                .GetAwaiter()
                .GetResult();

            return result.Accesstoken;
        }

解决方法

我检查了我的 AD FS 事件查看器日志,发现该用户无权访问 api.rms.rest.com 信赖方信任 - 通过编辑访问控制策略以允许所有人进行修复。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。