环回护照 google 高清参数

loopback passport google hd param

我正在使用 loopback-component-passport to authenticate users via google OAuth2Strategy. Everything works well except passing the "hd" 或 "hostedDomain" 参数到 google。

我的 provider.json 看起来像这样:

{
 "google-auth": {
 "provider": "google",
 "module": "passport-google-oauth",
 "strategy": "OAuth2Strategy",
 "clientID": "{clientID}",
 "clientSecret": "{clientSecret}",
 "callbackURL": "http://localhost:3000/auth/google/callback",
 "authPath": "/auth/google",
 "callbackPath": "/auth/google/callback",
 "successRedirect": "/auth/account",
 "scope": ["email", "profile"],
 "hd": "domain.tld",
 "link": false
 }
}

...但没有 "hd" 参数传递给 google :(.

我已经用 "myClientSecret&hd=domain.tld" 尝试了 "hack" 但所有值在传递之前都经过了 url 编码,因此字符“&”和“=”被编码并导致错误...

我的 package.json 中的依赖项:

 "cls-hooked": "^4.2.2",
 "compression": "^1.0.3",
 "cors": "^2.5.2",
 "helmet": "^3.12.0",
 "loopback": "^3.0.0",
 "loopback-boot": "^2.27.1",
 "loopback-component-access-groups": "^1.2.0",
 "loopback-component-explorer": "^5.0.0",
 "loopback-component-passport": "^3.6.0",
 "loopback-context": "^3.3.0",
 "passport-google-oauth": "^1.0.0",
 "serve-favicon": "^2.0.1",
 "strong-error-handler": "^2.3.2"

有人对此有一些经验吗?有人可以帮忙吗?

尝试添加:

"authOptions": {
    "hd": "domain.tld"
}

更多信息:http://loopback.io/doc/en/lb3/Configuring-providers.json.html#oauth-2