热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从RShiny应用程序调用Firebase身份验证UI

从RShiny应用程序调用Firebase身份验证用户界面我正在尝试从Shiny应用程序中调用Fire

从R Shiny应用程序调用Firebase身份验证用户界面

我正在尝试从Shiny应用程序中调用Firebase身份验证UI。目的是在Shiny with Firebase中进行基本授权。

以下是文件夹结构

├── ui.R
├── server.R
├── global.R
├── www
├── fire-auth-sign-in.js
├── firebase-console-config.js
├── firebase-ui-auth.css
├── firebase-ui-auth.js //Firebase's own authentication js file
├── ui
├── successfulRegistration
├── sign-in.R

global.R

library(shiny)
library(shinyjs)
library(DT)

server.R

function(input,output,session) {
##### App for signed in user
signed_in_user_df <- reactive({
req(session$userData$current_user())
out <- session$userData$current_user()
out <- unlist(out)
data.frame(
name = names(out),value = unname(out)
)
})
output$user_out <- DT::renderDT({
datatable(
signed_in_user_df(),rownames = FALSE,optiOns= list(
dom = "tp",scrollX = TRUE
)
)
})
}

ui.R

fluidPage(
shiny::singleton(
shiny::tags$head(
tags$script(src="https://www.gstatic.com/firebasejs/7.5.2/firebase-app.js"),tags$script(src="https://www.gstatic.com/firebasejs/7.5.2/firebase-auth.js"),shiny::tags$script(src="firebase-ui-auth.js"),shiny::tags$link(rel = "stylesheet",href="firebase-ui-auth.css"),shiny::tags$script(src="fire-auth-sign-in.js"),# UI loader
shiny::tags$script(src="firebase-console-config.js") #Firebase app configuration copied from firebase console
)
),tags$script("firebase.initializeApp(firebaseConfig);"),source("ui/sign-in.R",local = TRUE)$value,source("ui/successfulRegistration.R",local = TRUE)$value
)

fire-auth-sign-in.js

// Initialize the FirebaseUI Widget using Firebase.
var ui = new firebaseui.auth.AuthUI(firebase.auth());
var uiCOnfig= {
callbacks: {
signInSuccessWithAuthResult: function(authResult,redirectUrl) {
// User successfully signed in.
return true;
},uiShown: function() {
document.getElementById('loader').style.display = 'none';
}
},signInSuccessUrl: 'github.com',signInOptions: [
firebase.auth.EmailAuthProvider.PROVIDER_ID,firebase.auth.PhoneAuthProvider.PROVIDER_ID
],// Terms of service url.
};
// Finally,render the FirebaseUI Auth interface:
ui.start('#firebaseui-auth-container',uiConfig);

ui.R和我的fire-auth-sign-in.js之间,我无法创建正确的连接,因为用户界面一开始就不会加载。你能告诉我该怎么做吗?





推荐阅读
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
author-avatar
kingkongkoil
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有