我有一个服务,它的作用是观察一个动作流并根据它们调用一些函数。在服务类的构造函数中,我只订阅了 observable 而没有从外部服务调用的其他方法。这样,它更像是 Guard 而不是服务。我将此服务声明为可注入的并注入到根组件中,并且可以正常工作。服务被创建,订阅 observable 并完成它的工作。但是我的根组件不调用任何服务方法 - 根本不使用它。有没有更优雅的方式来全局注入服务,而无需在组件中声明它不合逻辑的位置?
我在用 nodejs+express 编写的服务中使用谷歌登录,并使用passport-google-oauth 登录谷歌。在我的网站上,我有一个“使用 Google 登录”按钮。我想要的是在用户点击此按钮时始终显示谷歌登录或帐户选择器。相反,如果我在浏览器中恰好使用一个 google 帐户登录,我会立即使用该帐户登录以使用服务。我在定义 GoogleStrategy 时尝试过这样的事情:
passport.use(new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,
clientSecret: GOOGLE_CLIENT_SECRET,
callbackURL: REDIRECT_URL,
passReqToCallback : true,
prompt: 'select_account' // <--!!!
}, function(req, accessToken, refreshToken, profile, done) {
//callback stuff
})
})
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。