我正在尝试使用 Firebase 身份验证向我的网络应用添加身份验证,我想避免使用 Firebase JS SDK,因为我认为它太大了,也是为了更好地了解底层协议。
我注意到Firebase Auth SDK不会直接重定向到OAuthendpoint,然后再重定向回来。相反,它会重定向到 https://my-app.firebaseapp.com/__/auth/handler
然后重定向到 OAuth endpoint,并将自身作为回调,然后返回到我请求的回调 URL。
所以基本上不是:
myapp.com
↓
accounts.google.com/o/oauth2/v2/auth
↓
myapp.com
这种情况会发生:
myapp.com
↓
myapp.firebaseapp.com/__/auth/handler
↓
accounts.google.com/o/oauth2/v2/auth
↓
myapp.firebaseapp.com/__/auth/handler
↓
www.myapp.com
我在任何地方都找不到关于这个API的任何文档,但我认为它可能是一个用于CSRF预防的内部中间件,或者可能只是一个API,它可以大大缩小不同Federated Identity API之间的差距。
我对此感兴趣的原因是,如果它执行上述任一操作,它可以为我节省一些时间和金钱,而且我很确定我可能会从中学到一些新东西(我至少希望如此)。
那么,https://my-app.firebaseapp.com/__/auth/XXX
endpoint是用来做什么的,有没有关于使用它的文档?
myapp.firebaseapp.com/__/auth/handler
是使用 Firebase 身份验证让用户登录的网址。
accounts.google.com/o/oauth2/v2/auth
网址会让您使用 Google OAuth 登录,但不能使用 Firebase 登录。
对于 Firebase 支持的所有 OAuth2 提供商,此流程都是相同的。因此,如果您使用Facebook登录,您会看到firebase auth handler -
它主要是为了易于使用和方便。您只需为所有OAuth提供程序使用一个白名单回调URL(为所有OAauth提供程序设置一个重定向URL)。你不必像Firebase Auth那样担心托管它。现在,您可以将应用程序托管在多个域中用于生产,localhost用于开发等。您可以在项目设置中的一个位置添加和删除白名单域。注意,过去一些OAuth提供程序只允许一个回调URL。这将绕过这一限制。
它也适用于弹出流以及典型的 OAuth 重定向流。例如,许多开发人员选择将弹出流用于桌面,并重定向用于移动设备。
另请注意,对于重定向流,它不会通过 URL 查询字符串将 OAuth 授权代码等传递回您的网页,而是通过 iframe postMessage 进行传递。因此,重定向回原始 URL 将具有完全相同的 URL,未经修改。因此,您可以从 https://www.example.com/#login 开始,然后返回相同的URL以完成登录。
此外,它不需要服务器端代码,而express passport等通常需要服务器端代码。也没有样板代码。
我试图隐藏Actionbar并改用工具栏,但如果我更改Theme.appcompat.light.NoActionBar,它确实会隐藏,但应用程序在行setContentView(r.layout.activity_main)处崩溃; 尽管它确实使用getSupportActionBar()隐藏。hide();但我不能用这个代码 Toolbar Toolbar=(Toolbar)findViewB
抱歉,如果这是基本的,但我正在启动java和这不是任何作业,但为什么我的简单测试程序失败?
我试图接收通过Mediastore拍摄的图像的URI。ACTION_IMAGE_CAPTURE意图,但由于某种原因,默认相机应用程序(谷歌)甚至在返回我的活动之前和我的代码到达onActivityResult()之前就崩溃了。我怀疑这与我制作意图的方式有关,但我不确定。这是我的代码: 如果有人要求,我也可以添加我的onActivityResult代码,不过我不确定它在这里是否相关。 以下是logc
嗨,这让我感到困惑,我正在尝试搜索我的文件中的选定数字,然后用该行的其余部分显示该数字,问题是我的程序似乎在我搜索它时返回第一行内容,但当我键入搜索它们时不会返回第二行或第三行 我的 txt 文件内容 我正在寻找的输出 当我键入2或3以查找项目时,我的程序不显示任何问题,我该如何解决它?
我已经阅读了一些关于将Web应用和API应用部署到Azure的教程。然而,我仍然有点不确定为什么你会使用一个而不是另一个。 我可以创建一个新的。NET解决方案,并将其部署为Web应用程序,那么为什么我会特别需要API应用程序呢?这些都是专门为ASP优化的。NET Web API,其中Web应用程序用于交付HTML?
我对一些代码进行了分析,并对花费了这么多时间感到惊讶。 但我发现这快了大约5倍: 下面是Math.min的代码以供参考: 注意:我的用例是对称的,上面的情况都适用于max,而不是min。 我在我的应用程序中添加了以下代码,以尝试获得更好的数据: 这将打印每个新触摸事件的运行比率。当我在屏幕上旋转手指时,首先记录的比率是或或。这让我觉得这个测试不是很准确地测量时间。随着收集到更多的数据,比率往往在和