gpt4 book ai didi

ios - 第三方 URL 未登录到 Ionic iOS 中的帐户

转载 作者:行者123 更新时间:2023-11-28 23:26:31 28 4
gpt4 key购买 nike

我正在使用 Cordova Plugin Advance HTTP 从我的服务器获取用户 token ,然后从该 token 创建一个 url 以让我当前的用户登录到他的帐户配置文件。我的代码如下:

teetime.page.ts

ionViewWillEnter(){
this.callCloudFunction().then( data => {
this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.url);
this.canRender = true;
});
}

async callCloudFunction() {
var memberTokenUrl = 'https://www.example.com/WebResAPI/Api/User/GetNewUserTokenByMemberNumber?authToken=&userToken=' + token + '&clubFriendlyName=MyClub&memberNumber='

var memberToken = await this.getMemberToken(memberTokenUrl);
console.log("Member Token: " + memberToken);

//Create Login URL
this.url = 'https://www.example.com/WebRes/Club/MyClub/LoginWithToken/' + memberToken;
console.log("Login URL: " + this.url);

//Hide Loading Container
await this.loading.dismiss();

return this.url;
}

//Get Member Token
getMemberToken(memberTokenUrl){
return new Promise((resolve, reject) => {
this.http.get(memberTokenUrl, {}, {})
.then(data => {
var memberTok = JSON.parse(data.data).Value ;
resolve(memberTok);
})
.catch(error => {
console.log(error.error);
});
});
}

teetimes.page.html

<ion-content>
<div style="overflow:auto;-webkit-overflow-scrolling:touch" *ngIf="canRender">
<iframe [src]="urlSafe" style="width: 100%; height: 100vh;" frameborder="0"></iframe>
</div>
</ion-content>

ios 控制台日志

[日志] 成员 token :4PHZjQUkGETmF4M9lm7TppjoMhwqHudyhjRGZmyBxY7gCTEgazGIKWekRRLo(cordova.98fc7fcb7c020c1504f6.js,第 1 行)[日志] 登录网址:https://www.example.com/WebRes/Club/MyClub/LoginWithToken/4PHZjQUkGETmF4M9lm7TppjoMhwqHudyhjRGZmyBxY7gCTEgazGIKWekRRLo (cordova.98fc7fcb7c020c1504f6.js,第 1 行)

我能够从我的服务器成功获取 token 并且能够成功地形成 URL 但这里的问题是这个带有用户 token 的形成的 URL 在我的 android 设备中完美地登录我但它没有打开我的用户iOS 中的帐户。我能够在 iOS 中完美地查看所有日志,并且能够获取 token 并形成 url,但它的作用是,它会将我带到已注销的主页,而不是显示我的已登录帐户。

但是,如果我从我的控制台日志中单击登录 URL,它会将我带到我在 Safari 中登录的用户帐户。

知道我在这里做错了什么吗?虽然它在 Android 中运行得很好,它确实让我自动登录到我的用户帐户,但这在 iOS 中不起作用,而是将我带到我网站的主页。

最佳答案

为什么不使用 InAppBrowser native 插件代替 iframe 来在不离开应用程序的情况下打开网站?

In App Browser - Tutorial

命令安装:

> ionic cordova plugin add cordova-plugin-inappbrowser
> npm install @ionic-native/in-app-browser

屏幕截图:

enter image description here

为什么使用 InAppBrowser 而不是 iFrame?

来自 Cordova 文档:InAppBrowser 窗口的行为类似于标准 Web 浏览器,并且无法访问 Cordova API。因此,如果您需要加载第三方(不受信任)内容,建议使用 InAppBrowser,而不是将其加载到主 Cordova Web View 中。 InAppBrowser不受白名单约束,在系统浏览器中打开链接也不受白名单约束。

注意:插件是通过 iframe 实现的。

关于ios - 第三方 URL 未登录到 Ionic iOS 中的帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58529374/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com