【发布时间】:2018-10-05 11:22:11
【问题描述】:
我已委派用户权限User.ReadBasic.All。在documentation 中,它声明了这一点
“允许该应用代表登录用户读取您组织中其他用户的一组基本配置文件属性。这包括显示名称、名字和姓氏、电子邮件地址、打开的扩展程序和照片。还允许应用程序来读取登录用户的完整个人资料。”
我怎样才能让所有用户都拥有基本的个人资料?
var accessToken = authContext
.AcquireTokenAsync(graphResourceId, new ClientCredential(clientId, secret))
.Result
.AccessToken;
var graphserviceClient = new GraphServiceClient(
new DelegateAuthenticationProvider(requestMessage => {
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
return Task.FromResult(0);
}));
您能否确认我的“权威”网址是否正确?
string authority = "https://login.microsoftonline.com/{tenantId}/common/oauth2/v2.0/token?&response_type=code&scope=openid%20profile%20User.Read%20User.ReadWrite%20User.ReadBasic.All";
AuthenticationContext authContext = new AuthenticationContext(authority);
var accessToken = authContext
.AcquireTokenAsync(graphResourceId, new ClientCredential(clientId, secret))
.Result
.AccessToken;
【问题讨论】:
-
权限只能是“login.microsoftonline.com{tenantId}/common”。我的意思是你想获得任何工作和学校帐户的代币。您表达的是获取令牌的完整 URI。不需要:ADAL 为您构建它(除其他外)。