cordova使用auth0快速入门指南时出现的问题
因此,在将auth0集成到我的cordova应用程序中遇到问题后,我决定运行官方提供的应用程序。但在遵循提供的说明后,我仍然无法使其工作。 我得到的错误是cordova使用auth0快速入门指南时出现的问题,cordova,auth0,Cordova,Auth0,因此,在将auth0集成到我的cordova应用程序中遇到问题后,我决定运行官方提供的应用程序。但在遵循提供的说明后,我仍然无法使其工作。 我得到的错误是 Error in Success callbackId: SafariViewController1859440610 : TypeError: Object.assign is not a function 我在谷歌上找不到任何类似的问题,也不知道如何追踪。任何线索和帮助都将不胜感激。 我的plugins/fetch.json如下所示 {
Error in Success callbackId: SafariViewController1859440610 : TypeError: Object.assign is not a function
我在谷歌上找不到任何类似的问题,也不知道如何追踪。任何线索和帮助都将不胜感激。
我的plugins/fetch.json如下所示
{
"cordova-plugin-inappbrowser": {
"source": {
"type": "registry",
"id": "cordova-plugin-inappbrowser@~1.3.0"
},
"is_top_level": true,
"variables": {}
},
"cordova-plugin-whitelist": {
"source": {
"type": "registry",
"id": "cordova-plugin-whitelist@~1.2.1"
},
"is_top_level": true,
"variables": {}
},
"cordova-plugin-customurlscheme": {
"source": {
"type": "registry",
"id": "cordova-plugin-customurlscheme@^4.3.0"
},
"is_top_level": true,
"variables": {
"URL_SCHEME": "com.auth0.cordova.example",
"ANDROID_SCHEME": "com.auth0.cordova.example",
"ANDROID_HOST": "tsm-test.eu.auth0.com",
"ANDROID_PATHPREFIX": "/cordova/com.auth0.cordova.example/callback"
}
},
"cordova-plugin-safariviewcontroller": {
"source": {
"type": "registry",
"id": "cordova-plugin-safariviewcontroller"
},
"is_top_level": true,
"variables": {}
}
}
我的config.xml是:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.auth0.cordova.example" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:gap="http://phonegap.com/ns/1.0">
<name>Auth0 Example</name>
<description>
Login sample application that responds to the deviceready event and authenticates using Auth0
</description>
<author email="support@auth0.com" href="http://auth0.com">
Auth0 Team
</author>
<content src="index.html" />
<preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="16" />
<platform name="android">
</platform>
<platform name="ios">
</platform>
<access origin="*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<preference name="AndroidLaunchMode" value="singleTask" />
<engine name="android" spec="^6.2.3" />
<engine name="ios" spec="~4.4.0" />
<plugin name="cordova-plugin-inappbrowser" spec="~1.7.1" />
<plugin name="cordova-plugin-whitelist" spec="~1.3.2" />
<plugin name="cordova-plugin-customurlscheme" spec="^4.3.0">
<variable name="URL_SCHEME" value="com.auth0.cordova.example" />
<variable name="ANDROID_SCHEME" value="com.auth0.cordova.example" />
<variable name="ANDROID_HOST" value="tsm-test.eu.auth0.com" />
<variable name="ANDROID_PATHPREFIX" value="/cordova/com.auth0.cordova.example/callback" />
</plugin>
<plugin name="cordova-plugin-safariviewcontroller" spec="^1.4.7" />
</widget>
Auth0示例
响应deviceready事件并使用Auth0进行身份验证的登录示例应用程序
允许的源代码(CORS)是文件://*
听起来您可能没有安装必要的Cordova插件。摘自:
安装Cordova插件
与@auth0/Cordova
一起使用需要几个Cordova插件。使用以下命令安装safariviewcontroller
和customurlscheme
cordova插件添加cordova插件safariviewcontroller
cordova插件添加cordova插件customurlscheme--变量
URL_SCHEME={YOUR_PACKAGE_ID}--变量
ANDROID_SCHEME={YOUR_PACKAGE_ID}--变量
ANDROID_HOST={YOUR_AUTH0_DOMAIN}--变量
ANDROID_PATHPREFIX=/cordova/{YOUR_PACKAGE_ID}/callback
安装cordova plugin customurlscheme
时使用的变量与在Auth0仪表板中设置回调URL时使用的变量相同
换句话说,只需在您最喜欢的commant提示符/终端中运行上述两个命令。第二条指令看起来有点让人不知所措-但是如果您使用的是默认的包id(quickstart附带的),那么只需使用:
cordova插件添加cordova插件customurlscheme--变量
URL_SCHEME=com.auth0.cordova.example——变量
ANDROID_SCHEME=com.auth0.cordova.example——变量
ANDROID_HOST={YOUR_TENANT}.auth0.com--变量
ANDROID_PATHPREFIX=/cordova/com.auth0.cordova.example/callback
并用自己的Auth0租户替换{YOUR_TENANT}
顺便说一下,Auth0仪表板中允许的回调URL也应该如下所示(同样,假设您使用的是默认的包标识符):
com.auth0.cordova.example://{YOUR_TENANT}.auth0.com/cordova/com.auth0.cordova.example/callback
当然,如果这不能解决您的问题,请在下面留下评论,让我知道。祝你好运。在android中实现Auth0时,我遇到了类似的错误,如本文所述
链接,我在“webpack.config.js”文件的入口点添加了“babel polyfill”
现在Auth0在我的android应用程序中运行良好。Hi@arceldon感谢您的回复。我已经按照说明安装了这两个插件。我将编辑该问题,以包括我的show config.xml所需的参数。我也不知道safariviewcontroller插件与android有什么关系。所以我删除了那个重新构建的插件,并尝试在我的android手机上运行,但也不起作用。试着用iOS模拟器看看它是否有效。你在Mac电脑上吗?我今天从一个新的下载测试了这个,它第一次起作用了。。。抱歉,如果这听起来没什么帮助,但只是让你放心,这个示例是有效的。但是我尝试过使用iOS模拟器。也许还可以尝试从你的模拟器/设备上卸载该应用程序,用鼠标点击你的iOS/android平台,删除节点模块,然后重新安装、构建和生成平台。我知道这听起来是一个很糟糕的建议,但偶尔它确实有效。我正在虚拟机中使用linux。尝试使用不同的PC和windows。但我在Mac电脑上构建了同样的软件包,并在iPhone上运行了该应用程序,它可以正常工作。
entry: ['babel-polyfill','./src/index.js'],