Клиент Javascript для FOSOAuthServerBundle
У меня есть некоторые трудности, чтобы рабочий процесс аутентификации работал. Я попробовал JSO https://github.com/andreassolberg/jso/blob/master/README-getting-started.md
вот мой тестовый код (игнорируйте поля логина)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<title>Login</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}"/>
<script type="text/javascript" src="/vendor/jso/build/jso.js"></script>
</head>
<body>
<form action="" name="login" method="post">
login: <input type="text" name="user"><br>
password: <input type="password" name="password">
<input type="submit" value="Submit" id="submit">
</form>
<input type="button" value="Get Token" id="get_token">
<input type="button" value="Clear Token" id="clear_token">
<input type="button" value="Dump" id="dump">
<input type="button" value="Fetch" id="fetch">
<input type="button" value="Callback" id="callback">
<script type="text/javascript" src="/vendor/jquery/dist/jquery.min.js"></script>
<script>
$(document).ready(function () {
var jso;
$.getJSON('parameters.json', function (data) {
jso = new JSO({
providerID: "movieApp",
client_id: data['backend-api']['client_id'],
redirect_uri: window.location.href,
authorization: "http://" + data['backend-api']['host'] + "/oauth/v2/auth",
scopes: {request: ["https://www.googleapis.com/auth/userinfo.profile"]}
});
console.log(data['backend-api']['host']);
});
JSO.enablejQuery($);
$('#get_token').click(function () {
jso.getToken(function (token) {
console.log("I got the token: ", token);
});
});
$('#clear_token').click(function () {
jso.wipeTokens()
});
$('#callback').click(function () {
jso.callback()
});
$('#dump').click(function () {
alert(jso.dump());
});
$('#fetch').click(function () {
jso.ajax({
url: "http://movie-app.localhost/app_dev.php/showtimes/2014-09-27",
dataType: 'json',
//crossDomain: true,
success: function (data) {
console.log("Response (google):");
console.log(data);
}
});
});
});
</script>
</body>
</html>
Я не уверен, правильно ли у меня работает рабочий процесс, так как каждый раз, когда я хочу получить данные с URL, мне нужно дать разрешение на использование API.
Я подумал, что в первый раз, когда я пытаюсь получить данные, мне нужно авторизоваться, но потом я использую токен, но он не работает с моим кодом.
Может кто-нибудь дать хороший пример, как использовать JSO, Hello.js или любой другой код клиента Javascript с FosOAuthServerBundle