2016-03-24 2 views
0

Я пытаюсь использовать ADALiOS framework v1.2.4 для получения токена с определенным ресурсом и clientId. Я использую пользовательские полномочия, размещенные на «microsoftonline.com».ADALiOS, похоже, перенаправляет мой логин на login.live.com

создать контекст аутентификации внутри ВК таким образом:

ADAuthenticationError *error = nil; 
ADAuthenticationContext context = [[ADAuthenticationContext alloc] initWithAuthority:@"https://login.microsoftonline.com/somethingcustom/oauth2/v2.0/authorize?p=some_signin_policy" 
    validateAuthority:YES 
    tokenCacheStore:nil 
    error:&error]; 
context.parentController = self; 

А потом я перейду приобрести жетон Thusly:

[context acquireTokenWithResource:@"someResource" 
    clientId:@"someClientId" 
    redirectUri:[NSURL URLWithString:@"someAppScheme://moreStuff"] 
    completionBlock:^(ADAuthenticationResult *result) { 

     NSLog(@"Was here!"); 

}]; 

То, что я ожидал бы случиться, что UIWebView будет откройте и перенаправьте меня на мою страницу входа в систему, где я могу ввести свои учетные данные. Чтобы подтвердить это, я вижу, когда я ввожу свой собственный пользовательский URL-адрес в любой старый браузер.

Однако вместо этого я вижу, что код перенаправляет меня на login.live.com, что (A) выглядит по-другому и (B) не распознает мои учетные данные.

Когда я включаю многословный вход, я вижу следующую строку в журналах:

VERBOSE: HTTP Protocol. Additional Information: HTTPProtocol::connection:willSendRequest:. Redirect response: https://login.microsoftonline.com/somethingcustom/oauth2/authorize?response_type=code&client_id=someClientID&resource=someResourceID&redirect_uri=something%3A%2F%2Fsomethingelse&state=bunchOfStuff&x-client-CPU=64&x-client-DM=iPhone&x-client-Ver=1.2.4&x-client-SKU=iOS&x-client-OS=9.2.1&client-request-id=70E51F25-FD3D-4F98-8EDF-04CD19320A98. New request:https://login.live.com/login.srf?wa=wsignin1.0&wtrealm=urn%3afederation%3aMicrosoftOnline&wctx=estsredirect%3d2%26estsrequest%3drQIIAWVQTWsTUQD0ZVfQXFo8iKUHPUQQ4W33vX2bbAqCxdhtpEnoJhF3b-9ru5u-l63Z3TTJj_BQL6U_wWNPpf9ByFG8CIIg_gIvgokHETzMMMwMc5jqbWRhizw1kIV2a9gWji0wgq5w65Aw2oBNwWLYWAVe3LQxJfXJverm44ffTp_9uui9-2J-3MLVi2sAlgB8B-C8cn_Yfnm0ZzvIUwI9P9Y0VRbP9LICPlc2entlkeA1ZZN0Ib_-55wbGxldO9aaeSbkpfEehAOUiYPgjM-Hi6P-cB6kK-jZNMKqPNToNHReTTluauE3S-arMuq7I4Zt3TmJ8uhNgrgTFEzvz8K-O2X_9l_86Wk-QjpqJarrd87Cvk26g_bscBCchIuw6LX2VWeOkq7fJr1WMIr81yoctT8YtVh4knCbQs9dPUYEr0MPSQdSwjyPcCElw1fGtpKzMi_0mL6lVjbWKZ9kERYX61NujFodIe46jEFkYxsSKuRqJKaQNmKXUSFiD6FPBlia4IdZvQM2Kw_MR7eegJ8muLm7lWdaFkk6Pt7d2fmrpcrlbw2&id=. ErrorCode: 0.

Я предполагаю, что я делаю что-то очень неправильно, но я не могу понять, что это является. Какие-либо предложения?

ответ

0

Для автоматического перенаправления на таможенный орган страницы вход вместо общей целевой страницы Microsoft, я использую extraQueryParameters при получении маркеров, как:

[context acquireTokenWithResource:@"someResource" 
clientId:@"someClientId" 
redirectUri:[NSURL URLWithString:@"someAppScheme://moreStuff"] 
extraQueryParameters:@"domain_hint=AzureADDomain.co.uk" 
    completionBlock:^(ADAuthenticationResult *result) { 

    NSLog(@"Was here!"); 

}]; 

Надеется, что это помогает кому-то.

+0

Примечание. Я не использую B2C, но это все еще работает. – Mausam