Skip to content

Commit

Permalink
Revert "Removed Login with Facebook"
Browse files Browse the repository at this point in the history
This reverts commit e68711b.
  • Loading branch information
thefirstspine committed Nov 4, 2023
1 parent aa519b6 commit 6a71db9
Show file tree
Hide file tree
Showing 8 changed files with 81 additions and 4 deletions.
18 changes: 18 additions & 0 deletions api/controllers/UserController.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,24 @@ module.exports = {
);
},

async tryLoginWithFacebook(req, res) {
const response = await axios.post(
`${process.env.AUTH_URL}/api/v2/login-with-facebook`,
{
code: req.query.code,
redirect_uri: 'https://www.thefirstspine.fr/login-with-facebook',
},
);

const responseJson = response.data;
if (response.status >= 400) {
return res.redirect('/login');
}

req.session.access_token = responseJson.access_token;
return res.redirect(req.query.redirect ? `/${req.query.redirect}` : '/profile');
},

async logout(req, res) {
req.session.access_token = null;
return res.redirect('/');
Expand Down
2 changes: 1 addition & 1 deletion config/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -382,4 +382,4 @@
"tipText": "Cet accès anticipé est gratuit et le restera pendant toute la période de développement. Si vous voulez encourager son développement, vous pouvez donner un pourboire aux développeurs pour qu'ils puissent continuer leur travail en tout sérénité. Le nom que vous nous donnerez sera présent dans le jeu final !"
},
"Vos codes sont arrivés !": "Vos codes sont arrivés !"
}
}
1 change: 1 addition & 0 deletions config/policies.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ module.exports.policies = {

UserController: {
'*': ['load-user', 'set-locale', 'is-logged-in'],
'tryLoginWithFacebook': ['load-user', 'set-locale'],
'viewForgottenPasswordForm': ['load-user', 'set-locale'],
'sendNewPassword': ['load-user', 'set-locale'],
'viewLoginForm': ['load-user', 'set-locale'],
Expand Down
1 change: 1 addition & 0 deletions config/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ module.exports.routes = {
'POST /login': 'UserController.tryLogin',
'GET /forgotten-password': 'UserController.viewForgottenPasswordForm',
'POST /forgotten-password': 'UserController.sendNewPassword',
'GET /login-with-facebook': 'UserController.tryLoginWithFacebook',
'GET /profile': 'UserController.viewProfile',
'POST /profile': 'UserController.editProfile',
'GET /subscribe': 'UserController.viewSubscriptionForm',
Expand Down
23 changes: 23 additions & 0 deletions views/components/facebook-login.ejs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<script>
Vue.component('facebook-login', {
data: function () {
return {
}
},
mounted: async function() {
},
methods: {
fblogin() {
window.location.href = 'https://www.facebook.com/v6.0/dialog/oauth?client_id=481790999175484&redirect_uri=https://www.thefirstspine.fr/login-with-facebook&scope=email';
}
},
props: [],
template: '#facebook-login',
})
</script>

<script type="text/x-template" id="facebook-login">
<div>
<a class="button is-facebook is-size-5" v-on:click="fblogin()"><%= __("login.loginWithFacebook") %></a>
</div>
</script>
1 change: 1 addition & 0 deletions views/layouts/layout.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
<%- include('../components/card.ejs'); %>
<%- include('../components/card-autoload.ejs'); %>
<%- include('../components/service-checker.ejs'); %>
<%- include('../components/facebook-login.ejs'); %>
<%- include('../components/codeinput.ejs'); %>
<%- include('../components/navigation.ejs'); %>
<%- include('../components/date.ejs'); %>
Expand Down
19 changes: 17 additions & 2 deletions views/pages/login.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<div class="column is-8 is-offset-2">
<div class="columns">
<div class="column is-one-third">
<div class="illustration" style="min-height: 500px;"></div>
<div class="illustration"></div>
</div>
<form class="column" method="POST" action="/login?redirect=<%= redirect %>">
<h1 class="is-size-3 has-text-centered is-uppercase"><%= __("login.title") %></h1>
Expand Down Expand Up @@ -42,7 +42,22 @@
</div>
</div>
<div class="field">
<div class="notification is-danger is-light">Facebook is no longer supporting Login for The First Spine. We decided to delete the feature.</div>
<div class="columns">
<div class="column">
<hr class="middle" />
</div>
<div class="column has-text-centered is-one-quarter">
<span class="middle"><%= __("login.or") %></span>
</div>
<div class="column">
<hr class="middle" />
</div>
</div>
</div>
<div class="field">
<div class="control">
<facebook-login></facebook-login>
</div>
</div>
</div>
<div class="informations">
Expand Down
20 changes: 19 additions & 1 deletion views/pages/subscribe.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,28 @@
<input type="submit" value="<%= __("subscribe.subscribe") %>" class="button is-primary is-size-5" />
</div>
</div>
<div class="field">
<div class="columns">
<div class="column">
<hr class="middle" />
</div>
<div class="column has-text-centered is-one-quarter">
<span class="middle"><%= __("subscribe.or") %></span>
</div>
<div class="column">
<hr class="middle" />
</div>
</div>
</div>
<div class="field">
<div class="control">
<facebook-login></facebook-login>
</div>
</div>
</div>
</form>
<div class="column is-one-third">
<div class="illustration" style="min-height: 500px;"></div>
<div class="illustration"></div>
</div>
</div>
</div>
Expand Down

0 comments on commit 6a71db9

Please sign in to comment.