我已经为用户登录/注销实现了Azure B2C,并且可以获取id_token并将其传递给我的Web API进行授权,一切正常.现在,我有一些Web API方法应该只能由客户端Web应用程序(ASP.NET 4.6)访问,这意味着OAuth 2.0"客户端凭据授予".我已经做了很多研究,而我能找到的最接近的是这个快速启动,它在B2C应用程序中使用ADAL来调用Graph API.
我跟着走了,到了我试图获取客户端访问令牌的地步,如下面的代码所示.但是,无论我传递给AcquireToken方法作为资源,我一直得到一个错误,即我传递的应用程序名称在租户中不存在.我实际上不确定应该通过什么,因为在B2C世界中,您没有将Web API注册为应用程序,而是您的所有应用程序都有一个应用程序ID.
是否支持上述方案,我该怎么做?
public async Task<string> SendGraphGetRequest(string api, string query)
{
// First, use ADAL to acquire a token by using the app's identity (the credential)
// The first parameter is the resource we want an access_token for; in this case, the Graph API.
//*** In my case I want to replace the graph API URL with my own WebAPI
AuthenticationResult result = authContext.AcquireToken("https://graph.windows.net", credential);
Run Code Online (Sandbox Code Playgroud) 我有一个 Azure AD B2C 目录,可以在我的应用程序中使用内置策略。我想使用自定义政策来添加我自己的声明。
问题是我找不到可以上传/下载此处引用的“身份体验框架”的 XML 文件的位置:将策略上传到您的租户。缺少“身份体验框架”
显示此功能的目录/订阅是否有一些要求?