本地 R Shiny 应用程序中的"系统中配置错误"错误,使用 Auth0 库连接到 Auth0



我正在尝试创建一个简单的闪亮应用程序,该应用程序使用 Auth0 库连接到 Auth0 密码系统。目前,我只是尝试在本地运行。当我尝试运行时,我收到一个 Auth0 页面,上面写着"系统中可能存在配置错误或服务中断",但我无法弄清楚原因。我采取了以下步骤:

  1. 应用程序中的库(身份验证0(
  2. shiny服务器身份验证0(...( 在应用程序中
  3. 创建了一个 Auth0"常规 Web 应用程序"项目
  4. 复制了 Auth0 项目机密、名称和用户名,并将其设置为 中的变量。伦维隆
  5. 将 URL'http://localhost:8080, https://[redacted].shinyapps.io/' 添加到回调、注销和 Web 源设置中。
  6. 保存/刷新了一切。

有什么想法吗?

更新:我终于弄清楚我做错了什么。我将api_url设置为 https://[my_name].auth0.com而不是 https://[my_name].us.auth0.com。因此,如果您使用自动生成的 YML 和美国网址,请确保更改它。


Context

一个类似的问题恰好与@Hattie35的解决方案相同。我把它放在这里只是以防万一其他人遇到它。

我正要问StackOverflow上的问题时,建议中突然出现了@Hattie35的问题。

给你:

<小时 /> <小时 />

问题

我正在尝试使用 {auth0} 包对我的 R Shiny 应用程序进行身份验证。

我已经逐步按照文档操作了大约 10 次,但是当我运行应用程序时,我在浏览器上不断收到相同的错误:

Unknown host: thetechie.auth0.com

页面上不显示任何其他内容。

以前有其他人遇到过这种情况吗?我可能错过了什么?我真的很感激任何指向正确方向的指示。

<小时 /><小时 />

雷普雷克斯

app.R

options(shiny.port = 8085)
library(shiny)
ui <- fluidPage(
fluidRow(
plotOutput("plot")
)
)
server <- function(input, output, session) {
output$plot <- renderPlot({
plot(1:10)
})
}
auth0::shinyAppAuth0(ui, server)

_auth0.yml

name: myApp
remote_url: ''
auth0_config:
api_url: !expr paste0('https://', Sys.getenv('AUTH0_USER'), '.auth0.com')
credentials:
key: !expr Sys.getenv("AUTH0_KEY")
secret: !expr Sys.getenv("AUTH0_SECRET")

.Renviron

AUTH0_USER=thetechie
AUTH0_KEY=ClientId
AUTH0_SECRET=ClientSecret

允许的回调 URL、允许的注销 URL 和允许的 Web 源都是:

http://localhost:8085/
<小时 /><小时 />

解决方案

按照@Hattie35建议,编辑自动生成的_auth0.yml并将区域"部分"添加到api_url

name: myApp
remote_url: ''
auth0_config:
api_url: !expr paste0('https://', Sys.getenv('AUTH0_USER'), '.us.auth0.com')
credentials:
key: !expr Sys.getenv("AUTH0_KEY")
secret: !expr Sys.getenv("AUTH0_SECRET")

每当我尝试通过它登录时,我也面临着同样的问题,并且一次又一次地出现相同的错误。但是,现在我找到了解决方案,它对我有用。溶液:

目前,auth0 已经改变了写入"clientID"和"域名"名称等的方式。 早些时候,他们以以下方式编写:

<Auth0Provider
domain="dev-12334556767.us.auth0.com"
clientId="abdgcfdhdfhjgjrbubrfubhbure"
redirect_uri: window.location.origin
>
<AppProvider>
<App />
</AppProvider>
</Auth0Provider>

但是,现在情况发生了变化,请按照以下模式编写 auth0 的配置:

<Auth0Provider
domain="dev-12334556767.us.auth0.com"
clientId="abdgcfdhdfhjgjrbubrfubhbure"
authorizationParams={{
redirect_uri: window.location.origin
}}
>
<AppProvider>
<App />
</AppProvider>
</Auth0Provider>

我希望这对每个人都有用。谢谢

最新更新