查看网络选项卡后,我发现有趣的是,输入密码后根本没有发送请求。
注意:此应用程序是使用 PWA 构建器网站制作的。
这是在 login.microsoft 页面输入我的密码后弹出的错误
我已确保将所有必要的域放入 info.plist 中的 WKAppBoundDomains 列表中。我已尝试清除所有cookie,但这没有帮助我们使用 WorkOS 获取 login.mocrosoft.online 的 URL,这是用户完成身份验证的地方
public async Task<SystemMessage> SsoLoginAsync(string email)
{
WorkOS.WorkOS.SetApiKey(_settings.WorkOsApiKey);
SSOService ssoService = new();
ApplicationUser user = await _db.Users
.Include(o => o.Client)
.Where(o =>
o.Email == email
&& o.IsActive == true
).FirstOrDefaultAsync();
if (user == null) { return Notification.ErrorMessage("Could not Authenticate"); }
string orgId = user.Client?.SsoOrganizationId;
if (orgId == null) { return Notification.ErrorMessage("Could not Authenticate"); }
GetAuthorizationURLOptions options = new()
{
ClientId = _settings.WorkOsClientId
, Organization = orgId
, RedirectURI = _settings.BaseUrl + "login?fromSso=true"
};
string ssoUrl = ssoService.GetAuthorizationURL(options);
return Notification.SuccessMessage(
""
, value: new { ssoUrl, email }
, showSystemMessage: false
);
}
在 Settings.swift 中,有一个名为“allowedOrigins”的字符串数组。将这个字符串数组与 info.plist 中的 WKAppBoundDomains 匹配后,一切都按预期工作。