Quais os fluxos de autorização suportados na Web API?
O protocolo de autorização OAuth 2.0 suporta quatro fluxos de autorização distintos, sendo a sua escolha muito importante para o tipo de aplicação integrada. A escolha do tipo de fluxo a utilizar é feita no momento de criação da App. Utilizado por Apps Móveis ou Aplicações Web, que são executadas no cliente e como tal não conseguem guardar o cliente secret. Utilizado em comunicações do tipo “machine-to-machine”, cenários onde não é necessário dar permissões a um utilizador em particular. Utilizados por aplicações web que se executam do lado do servidor. O seguinte exemplo demostra um caso de utilização do fluxo de autorização Implict para a autorizar uma aplicação. Código para a página html cliente. Código java que irá realizar o pedido. Estilos da página.Implicit
Client credentials
Authorization code
Exemplo de Utilização
'<!DOCTYPE html>
'<html>
'<head>
<title>Jasmin</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS & JS -->
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!-- Mystyle -->
<link href="main.css" rel="stylesheet" type="text/css" />
<!-- Our Website scripts -->
<script src="Index.js"></script>
'</head>
'<body>
<div class="container-fluid">
<div id="aligner">
<div class="text-center">
<div class="row">
<div class="col-md-12">
<h4><B>Demo OAuth 2.0</B></h4>
<p>Autenticação com fluxo implicito</p>
</div>
</div>
<div class="col-md-12">
<button onClick="doLogin()" class="btn btn-primary btn-block">Entrar</button>
</div>
</div>
</div>
</div>
'</body>
'</html>
function doLogin() {
var CLIENT_ID = 'A chave do seu cliente';
var AUTHORIZATION_ENDPOINT = 'https://identity.primaverabss.com/connect/authorize';
var CALLBACK_ENDPOINT = 'https://localhost:4200/login.html'
try {
var authUrl = AUTHORIZATION_ENDPOINT +
'?response_type=token' +
'&client_id=' + CLIENT_ID +
'&redirect_uri=' + CALLBACK_ENDPOINT +
'&scope=rose-api';
window.location.replace(authUrl);
}
catch (err) {
console.log(err.message);
}
}
#aligner {
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
#heading {
padding: 10px;
}
#main-content > .container {
padding: 0 15px;
}
login para deixar a sua opinião.