将Okta与iOS webview集成的问题

时间:2015-03-11 14:07:09

标签: ios okta

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

2 个答案:

答案 0 :(得分:0)

克里希纳,

您能否详细说明您的目标?还请提供详细信息,例如是否启用MFA(哪一个)和错误消息(如果有)。

谢谢, 钱德拉。

答案 1 :(得分:0)

Okta Open ID Connect

对于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>

导入SDK import 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。