刷新safariViewController会导致OAuth2失败

时间:2018-01-31 18:23:28

标签: ios swift safari oauth-2.0

我对有问题的库(Keycloak)提出了类似的问题,但我觉得它实际上可能与库外的代码有关。

我正在尝试使用带有Aerogear OAuth2的Safari View Controller才能通过Google登录。

但是,当您尝试登录时,如果您尝试在登录过程中刷新,我会收到来自Keycloak的错误 - 这是一个访问管理服务,"没有访问令牌"

let keycloakHost = ServerConfigurator.sharedInstance.keycloakUrl

config = KeycloakConfig(
    clientId: "company-name",
    host: keycloakHost,
    realm: "master",
    isOpenIDConnect: true)

config.webView = .safariViewController

config.webViewHandler = self.webViewHandler
oauthModule = KeycloakOAuth2Module(config: config, session: KeycloakClient.session)

我无法找到为什么Safari View Controller刷新会导致类似错误。

它可能与新会话有关吗?由于它仅在刷新时发生,并且仅在Safari View Controller中发生,因此我觉得我正在使用视图控制器进行一些配置错误。

1 个答案:

答案 0 :(得分:0)

您好我有类似的问题,但我解决了keycloak客户端

在我的领域 - 客户端 - 您的客户端 - 设置搜索访问类型并公开

再试一次,您可以登录成功