iOS 11 AppAuth处理重定向的重定向URI

时间:2018-01-11 02:40:25

标签: oauth ios11 google-oauth2 appauth sfauthenticationsession

在我的iOS应用上使用AppAuth (v 0.90.0)进行Google OAuth身份验证时,特别是针对iOS 11,会发生以下情况:

  1. 使用重定向URI http://myproduct.com/oauth-redirect在iOS客户端上启动Google身份验证。由于客户端ID是Web应用程序的ID,因此我无法指定自定义URL。
  2. AppAuth在客户端上启动SFAuthenticationSession,我被提示允许登录。选择继续。 (https://github.com/openid/AppAuth-iOS/blob/0.90.0/Source/iOS/OIDAuthorizationUICoordinatorIOS.m#L91-L95
  3. http://myproduct.com/oauth-redirect重定向到自定义网址myproduct://auth,SFAuthenticationSession完成块使用myproduct://auth的回调网址运行。
  4. 当AppAuth恢复身份验证流程时,它会检查原始网址是否与上一步骤中的回调网址相同:https://github.com/openid/AppAuth-iOS/blob/0.90.0/Source/OIDAuthorizationService.m#L108-L110
  5. 由于http://myproduct.com/oauth-redirectmyproduct://auth不同,因此流程停止。
  6. 请注意,我正在使用Web应用程序clientID,以便我可以在服务器端执行令牌交换。

    在之前的AppAuth版本中,这是可能的,因为我可以直接使用更新的URL调用resumeAuthorizationFlowWithURL

    有没有办法在不更新AppAuth的情况下支持此用例?

0 个答案:

没有答案