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