0

我们正在尝试使用 webview 将 Okta 与 iOS 本机应用程序集成,并且 Okta 服务不会重定向到经过身份验证的 URL。相同的设置在 Android 应用程序中运行良好。我们需要将任何特定设置添加到 iOS Web 视图吗?

4

2 回答 2

0

克里希纳,

您能否提供有关您正在尝试做的事情的更多详细信息?还请提供详细信息,例如是否启用了 MFA(哪一个)和错误消息(如果有)。

谢谢,钱德拉。

于 2015-03-11T18:58:37.300 回答
0

Okta 开放 ID 连接

对于 okta 登录使用: pod 'OktaOidc'

根据以下 plist 文件配置您的 Okta 仪表板应用

在您的项目中创建Okta.plist文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>issuer</key>
    <string>https://xyz.okta.com</string>
    <key>clientId</key>
    <string>wOe*******86wySs</string>
    <key>redirectUri</key>
    <string>com.x***z.okta:/callback</string>
    <key>logoutRedirectUri</key>
    <string>com.x***z.okta:/logout</string>
    <key>scopes</key>
    <string>openid profile offline_access</string>
</dict>
</plist>

导入 SDKimport OktaOidc

宣布

    var authStateManager: OktaOidcStateManager? {
        didSet {
            oldValue?.clear()
            authStateManager?.writeToSecureStorage()
        }
    }

点击按钮:

    @IBAction func loginButtonAct(_ sender: Any) {
        self.oktaOidc?.signInWithBrowser(from: self) { stateManager, error in
            if let error = error {
                // Error
                authStateManager = nil
                print("\(error.localizedDescription)")
                self.alert(titleStr: "Sorry", messageStr: "Something went wrong, Please try again.")
                return
            }
            // Success
            print("*************: Logged In Succesfully :*************")
            authStateManager = stateManager
            print("\(String(describing: authStateManager?.accessToken!))")
            print("\(String(describing: authStateManager?.refreshToken!))")
        }
    }

不要忘记存储 authStateManger。

于 2019-07-30T06:28:31.157 回答