Я пытался внедрить себя в социальную аутентификацию для стека mern и нашел много учебных пособий, использующих разные стратегии.Один из самых простых, которые я нашел, был:
https://hackernoon.com/m-e-r-n-stack-application-using-passport-for-authentication-920b1140a134
В этом уроке токен запрашивается на стороне сервера.Форма обратного вызова, которую поставщик аутентификации затем перенаправляет с приложенным токеном к клиентскому приложению в приведенном ниже фрагменте кода.
/* GET Google Authentication API. */
router.get(
"/auth/google",
passport.authenticate("google", { scope: ["profile", "email"] })
);
router.get(
"/auth/google/callback",
passport.authenticate("google", { failureRedirect: "/", session: false }),
function(req, res) {
var token = req.user.token;
res.redirect("http://localhost:3000?token=" + token);
}
);
Это стандартная стратегия?Насколько я понимаю, это работает только для веб-клиента.Есть ли решение, которое работает для Интернета и мобильных устройств?Или вообще лучше запрашивать токен во внешнем интерфейсе и проверять только во внутреннем?