成功登录后获取以下信息。登录流程可以在Android上正常运行,并且可以正确返回令牌,刷新等...
“由于地址无效,Safari无法打开页面”
Auth0回调配置
Info.plist
...
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>CFBundleURLName</key>
<string>auth0</string>
<key>CFBundleURLSchemes</key>
<array>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>
</dict>
</array>
...
AppDeligate.m
...
#import <React/RCTLinkingManager.h>
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [RCTLinkingManager application:application openURL:url
sourceApplication:sourceApplication annotation:annotation];
}
...
答案 0 :(得分:0)
我遇到了同样的问题(使用Auth0时,答案取决于他们在此处提供的解决方案-https://auth0.com/docs/quickstart/native/react-native)
此外,这里还有另一个答案的一些输入-"Safari cannot open the page because the address is invalid" appearing when accessing Branch link with app uninstalled
最终,归结为这一点
另一个选项(下面的代码段)是添加“ URLScheme”
#import <React/RCTLinkingManager.h>
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options
{
return [RCTLinkingManager application:app openURL:url options:options];
}
第二步
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>CFBundleURLName</key>
<string>auth0</string>
<key>CFBundleURLSchemes</key>
<array>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>
</dict>
</array>
对我来说,这就是解决此问题的原因(使用Auth0库时,但是无论使用哪种库,都应该使用类似的东西)。这从根本上克服了Apple / iOS对应用程序链接的限制,这就是您出现原始safari错误的原因。