All I found is the old answer:
https://groups.google.com/forum/#!topic/firebase-talk/rApG8QQd6t4
Does SOER know any information or can a Firebase engineer give a more detailed answer?
I am currently trying to authenticate a user on Steam using this library:
https://github.com/liamcurry/passport-steam
and then use custom Firebase tokens to get the user on my Firebase authentication system.
I do not know if this is the right approach. Despite this, I am stuck.
EDIT:
Here is my current code:
app.js
var passport = require('passport');
var SteamStrategy = require('passport-steam').Strategy;
app.use(passport.initialize());
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(obj, done) {
done(null, obj);
});
passport.use(new SteamStrategy({
returnURL: 'http://localhost:8080/users/steam/return',
realm: 'http://localhost:8080/',
apiKey: steamKey.steam,
stateless:true
},
function(identifier, profile, done) {
profile.identifier = identifier;
return done(null, profile);
}
));
users.js
router.get('/steam', passport.authenticate('steam', { failureRedirect: 'login' }), function(req, res, next) {
});
router.get('/steam/return',
function(req, res, next) {
req.url = req.originalUrl;
next();
},
passport.authenticate('steam', { failureRedirect: 'users/login' }),
function(req, res) {
console.log(JSON.stringify(req.query));
var oid = req.query["openid.claimed_id"];
var array = oid.split("/id/");
console.log("Array: "+array);
var result = array[1];
console.log(result);
admin.auth().createCustomToken(result)
.then(function(customToken) {
res.render("users/login",{token: customToken, passed: true});
})
.catch(function(error) {
console.log("Error creating custom token:", error);
});
});
users /login.ejs:
<a href="steam"><img id="steamLogin" src="../../public/assets/steamLogin.png"/></a>
<script>
if ("<%=passed%>" == "true") {
firebase.auth().signInWithCustomToken("<%=token%>").catch(function(error) {
if (error) {
alert(error);
}
else {
res.redirect("screenshots/index");
}
});
}
</script>
My current problem is this:
1) , Steam UID . ? , - , ?
2) "" Firebase Auth. ?
3) , uid ?