在一個場景中像這樣的 - 代表 - 的:https://github.com/Azure-Samples/active-directory-dotnet-webapi-onbehalfof驗證到Azure的AD客戶端應用程序
我想代表客戶,而不是用戶的後端驗證到Azure的AD。我無法找到適合此案例的文檔中的適當示例。
那麼我在做什麼?
在客戶端:
var authContext = new AuthenticationContext(authorityUrl);
var result = authContext.AcquireTokenAsync(webServiceUri, new ClientCredential(nativeClientId, nativeClientSecret)).GetAwaiter().GetResult();
在後端服務:
var authContext = new AuthenticationContext(authorityUrl);
var result = authContext.AcquireTokenAsync(office365ResourceUri, new ClientAssertion(webClientId, result.AccessToken))
這引發以下異常:
AADSTS70002: Client assertion application identifier doesn't match 'client_id' parameter.
它只是成功的時候我'點球納克相同的服務(指的自己!)在後端從客戶端:
authContext.AcquireTokenAsync(webServiceUri, new ClientAssertion(nativeClientId, result.AccessToken))
但是,這沒有任何意義的服務已去到Office 365 API。
任何想法?