Support Google Sign-in client-side
TODO: Support Google Sign-in server-side Also: - Add Haskell to project's shell.nix - Add stubbed Main.hs and Spec.hs - Add common .ghci file
This commit is contained in:
parent
5f52077492
commit
1fc1087014
5 changed files with 53 additions and 1 deletions
|
@ -1,9 +1,12 @@
|
|||
let
|
||||
pkgs = import <nixpkgs> {};
|
||||
pkgs = import /home/wpcarro/nixpkgs {};
|
||||
in pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
elmPackages.elm
|
||||
elmPackages.elm-format
|
||||
elmPackages.elm-live
|
||||
(haskellPackages.ghcWithPackages (hpkgs: with hpkgs; [
|
||||
hspec
|
||||
]))
|
||||
];
|
||||
}
|
||||
|
|
2
website/sandbox/learnpianochords/src/server/.ghci
Normal file
2
website/sandbox/learnpianochords/src/server/.ghci
Normal file
|
@ -0,0 +1,2 @@
|
|||
:set prompt "> "
|
||||
:set -Wall
|
6
website/sandbox/learnpianochords/src/server/Main.hs
Normal file
6
website/sandbox/learnpianochords/src/server/Main.hs
Normal file
|
@ -0,0 +1,6 @@
|
|||
--------------------------------------------------------------------------------
|
||||
module Main where
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
main :: IO ()
|
||||
main = putStrLn "Working!"
|
13
website/sandbox/learnpianochords/src/server/Spec.hs
Normal file
13
website/sandbox/learnpianochords/src/server/Spec.hs
Normal file
|
@ -0,0 +1,13 @@
|
|||
--------------------------------------------------------------------------------
|
||||
module Spec where
|
||||
--------------------------------------------------------------------------------
|
||||
import Test.Hspec
|
||||
import Test.QuickCheck
|
||||
import Control.Exception (evaluate)
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
main :: IO ()
|
||||
main = hspec $ do
|
||||
describe "Testing" $ do
|
||||
it "is setup" $ do
|
||||
True == True
|
28
website/sandbox/learnpianochords/src/server/index.html
Normal file
28
website/sandbox/learnpianochords/src/server/index.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Google Sign-in</title>
|
||||
<script src="https://apis.google.com/js/platform.js" async defer></script>
|
||||
<meta name="google-signin-client_id" content="771151720060-buofllhed98fgt0j22locma05e7rpngl.apps.googleusercontent.com">
|
||||
</head>
|
||||
<body>
|
||||
<div class="g-signin2" data-onsuccess="onSignIn"></div>
|
||||
<a href="#" onclick="signOut();">Sign out</a>
|
||||
<script>
|
||||
function onSignIn(googleUser) {
|
||||
var profile = googleUser.getBasicProfile();
|
||||
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
|
||||
console.log('Name: ' + profile.getName());
|
||||
console.log('Image URL: ' + profile.getImageUrl());
|
||||
console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
|
||||
}
|
||||
function signOut() {
|
||||
var auth2 = gapi.auth2.getAuthInstance();
|
||||
auth2.signOut().then(function () {
|
||||
console.log('User signed out.');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue