小编joe*_*4no的帖子

如何让 Firebase 身份验证 OAuthProvider 使用 OIDC 提供程序添加其他范围

我已将自定义 OIDC 提供商添加到我的 Google Identity Platform。我可以成功地通过它进行身份验证,所以我知道这不是提供程序配置的问题,但由于某种原因,当我尝试向令牌请求添加其他范围时,新范围不会出现在请求 url 中。在下面的代码块中,我看到 OAuthProvider 对象显示了我在请求 signInWithPopup 之前添加的其他范围。但在此请求之后,当我验证收到的令牌时,它仅具有“oidc”范围,并且其他范围不会出现在弹出窗口的 URL 中。我是否缺少一些额外的步骤,或者其他范围是否不适用于 Firebase Auth 中的自定义 OIDC 提供商?

    let twitch = new firebase.auth.OAuthProvider('oidc.twitch');
    twitch.addScope('moderation:read');
    twitch.addScope('user:edit');
    console.log(twitch); // This shows the additional scopes requested
    const user = await this.auth.signInWithPopup(twitch); // This URL only shows the oidc scope
    console.log(user); // This user token does not have any additional scopes
Run Code Online (Sandbox Code Playgroud)

在我必须进行自己的身份验证之前,我们将不胜感激任何帮助或确认。谢谢,

firebase angularfire openid-connect firebase-authentication google-identity

6
推荐指数
1
解决办法
1634
查看次数

string.match throw error:尝试索引字段'?' (字符串值)

我试图在文本文件中的一行文本上匹配三个数据并将它们存储在表元素中.每行看起来像这样:

0.277719    0.474610    This
0.474610    0.721241    is
0.721241    1.063209    test
Run Code Online (Sandbox Code Playgroud)

我有一个本地表来保存文本行,我正在尝试分配数据如下.

local data = {}
local file = io.open( "audio/audio.txt", "r" )
local i = 1
for line in file:lines() do
    data[i] = line
    data[i].start, data[i].out, data[i].name = string.match( line, '(%S+)%s*(%S+)%s*(%S+)' )
    i = i + 1
end
Run Code Online (Sandbox Code Playgroud)

data[i] = line部分工作正常.下一行没有.我得到的就是以下错误data[i].start, data[i].out, data[i].name = string.match( line, '(%S+)%s*(%S+)%s*(%S+)' ):

attempt to index field '?' (a string value)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

lua lua-patterns lua-table

3
推荐指数
1
解决办法
1740
查看次数