我正在尝试使用 ADALiOS 框架 v1.2.4 获取具有特定资源和 clientId 的 token 。我正在使用托管在“microsoftonline.com”上的自定义权限。
我在 VC 中创建了一个身份验证上下文:
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;
然后我继续这样获取 token :
[context acquireTokenWithResource:@"someResource"
clientId:@"someClientId"
redirectUri:[NSURL URLWithString:@"someAppScheme://moreStuff"]
completionBlock:^(ADAuthenticationResult *result) {
NSLog(@"Was here!");
}];
我希望发生的是 UIWebView 将打开并将我重定向到我的自定义权限登录页面,我可以在其中输入我的凭据。确认一下,这就是我在任何旧浏览器中输入自定义权限 URL 时看到的内容。
但是,我看到的是代码将我重定向到 login.live.com
,(A) 看起来不同并且 (B) 无法识别我的登录凭据。
当我打开详细日志记录时,我在日志中看到以下行:
详细:HTTP 协议(protocol)。附加信息:HTTPProtocol::connection:willSendRequest:。重定向响应: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。新请求:https://login.live.com/login.srf?wa=wsignin1.0&wtrealm=urn%3afederation%3aMicrosoftOnline&wctx=estsredirect%3d2%26estsrequest%3drQIIAWVQTWsTUQD0ZVfQXFo8iKUHPUQQ4W33vX2bbAqCxdhtpEnoJhF 3b-9ru5u-l63Z3TTJj_BQL6U_wWNPpf9ByFG8CIIg_gIvgokHETzMMMwMc5jqbWRhizw1kIV2a9gWji0wgq5w65Aw2oBNwWLYWAVe3LQxJfXJverm44ffTp_9uui9-2J-3MLVi2sAlgB8B -C8cn_Yfnm0ZzvIUwI9P9Y0VRbP9LICPlc2entlkeA1ZZN0Ib_-55wbGxldO9aaeSbkpfEehAOUiYPgjM-Hi6P -cB6kK-jZNMKqPNToNHReTTluauE3S-arMuq7I4Zt3TmJ8uhNgrgTFEzvz8K-O2X_9l_86Wk-QjpqJarrd87Cvk26g_bscBCchIuw6LX2VWeOkq7fJr1WMIr81yoctT8YtVh4knCbQ s9dPUYEr0MPSQdSwjyPcCElw1fGtpKzMi_0mL6lVjbWKZ9kERYX61NujFodIe46jEFkYxsSKuRqJKaQNmKXUSFiD6FPBlia4IdZvQM2Kw_MR7eegJ8muLm7lWdaFkk6Pt7d2fmrpcrlbw2 &id=。错误代码:0.
我猜我做错了什么,但我不知道是什么。有什么建议吗?
最佳答案
要使用 Azure AD B2C 构建 iOS 应用程序,我建议从本教程开始:https://azure.microsoft.com/en-us/documentation/articles/active-directory-b2c-devquickstarts-ios/ .您使用的 ADAL 版本不支持 B2C。
关于ios - ADALiOS 似乎将我的登录重定向到 login.live.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36210445/