API 앱을 보안 설정했으며 여기에서 찾은 샘플 앱으로 ADB2C 플로우를 성공적으로 테스트했습니다 : https://github.com/Azure-Samples/active-directory-b2c-xamarin-native. 이 구조를 사용하여 로그인 프로세스를 시작한 다음 보호 된 API 호출에 액세스 할 수 있습니다.새로운 AD B2C와 C# Azure Mobile Client lib를 통합하는 방법은 무엇입니까?
그러나 편의를 위해 WindowsAzure.Mobile SDK도 사용하고 싶었습니다. 여기에 암시 : https://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/ 그 클래스에서 LoginAsync에서 B2C 흐름을 트리거 할 수 있지만 그런 식으로 호출 할 때는 아무 것도하지 않습니다.
또한 토큰 받기에 대한 MSAL 호출 대신 https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-how-to-use-client-library/ ("Active Directory 인증 라이브러리로 사용자 인증"으로 스크롤)했습니다. 이 부호가-에 흐름, 나는 좋은 토큰을 얻을 트리거 다시, 나는 몇 가지 JSON에 넣고과 같이 전달할 주장 :
이AuthenticationResult ar = await App.PCApplication.AcquireTokenSilentAsync(App.Scopes, "", App.Authority, App.SignUpSignInpolicy, false);
JObject payload = new JObject();
payload["access_token"] = ar.AccessToken;
user = await App.MobileService.LoginAsync(
MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory, payload);
LoginAsync이 호출이
{Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException: You do not have permission to view this directory or page. at Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient+<ThrowInvalidResponse>d__18.MoveNext() [0x0022f] in <filename unknown>:0 --- End of stack trace from previous location where exception was thrown --- (snip)
함께 작동하도록 설계되지 않았습니까? 다른 종류의 토큰입니까? B2C를 사용하는 이유는 그 모든 OAUTH 물건을 알고 싶지 않기 때문입니다.
작동하지 않는 LoginAsync 호출을 공유 할 수 있습니까? 당신이 아무것도하지 않는다고 말할 때, webview는 전혀 나타나지 않습니까? – mattchenderson
그래서 호출의 MSAL 버전이 webview를 팝업하고 그 부분은 잘 작동합니다. LoginAsync에 대한 호출은 위의 예제 코드와 같습니다. 그러나 LoginAsync를 호출하면 아무 것도 표시되지 않고 아무 것도 표시되지 않습니다. 'JObject 페이로드 = 새 JObject(); 페이로드 [ "authenticationToken"] = ar.IdToken; var user = mc.LoginAsync (MobileServiceAutureicationProvider.WindowsAzureActiveDirectory, payload); ' –