Fix on revoke refresh token admin UI
revoking refresh token from edit oauth2 client was erroring bc a wrong api call. Change-Id: Ifb21ba3036d6083bcae75bc48b4e6e86e3a905df
This commit is contained in:
parent
dff98a009a
commit
8efd84a502
|
@ -596,7 +596,7 @@ final class ClientApiController extends AbstractRESTController implements ICRUDC
|
|||
}
|
||||
return $this->ok([
|
||||
'total' => $paginator->total(),
|
||||
'pages' => $paginator->total() > 0 ? ceil($paginator->total()/$page_size) : 0,
|
||||
'pages' => $paginator->total() > 0 && $page_size > 0 ? ceil($paginator->total()/$page_size) : 0,
|
||||
'items' => $res
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -93,7 +93,7 @@ class UserApiController extends AbstractRESTController implements ICRUDControlle
|
|||
$hint = Input::get('hint','none');
|
||||
|
||||
switch($hint){
|
||||
case 'access_token':{
|
||||
case 'access-token':{
|
||||
$token = $this->token_service->getAccessToken($value,true);
|
||||
if(is_null($token))
|
||||
throw new Exception(sprintf("access token %s expired!.",$value));
|
||||
|
@ -102,7 +102,7 @@ class UserApiController extends AbstractRESTController implements ICRUDControlle
|
|||
$this->token_service->revokeAccessToken($value,true);
|
||||
}
|
||||
break;
|
||||
case 'refresh_token':
|
||||
case 'refresh-token':
|
||||
$token = $this->token_service->getRefreshToken($value,true);
|
||||
if(is_null($token))
|
||||
throw new Exception(sprintf("access token %s expired!.",$value));
|
||||
|
|
|
@ -48,10 +48,14 @@ abstract class AbstractEloquentOAuth2TokenRepository extends AbstractEloquentEnt
|
|||
*/
|
||||
function getAllValidByClientIdentifier($client_identifier, $page_nbr = 1, $page_size = 10)
|
||||
{
|
||||
return $this->getAll($page_nbr, $page_size, [
|
||||
return $this->getAll($page_nbr, $page_size, $this->getAllValidByClientIdentifierFilterCondition($client_identifier));
|
||||
}
|
||||
|
||||
protected function getAllValidByClientIdentifierFilterCondition($client_identifier){
|
||||
return [
|
||||
['name' => 'client_id', 'op' => '=','value' => $client_identifier ],
|
||||
['raw' => 'DATE_ADD(created_at, INTERVAL lifetime second) >= UTC_TIMESTAMP()'],
|
||||
]);
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -62,10 +66,14 @@ abstract class AbstractEloquentOAuth2TokenRepository extends AbstractEloquentEnt
|
|||
*/
|
||||
function getAllValidByUserId($user_id, $page_nbr = 1, $page_size = 10)
|
||||
{
|
||||
return $this->getAll($page_nbr, $page_size, [
|
||||
return $this->getAll($page_nbr, $page_size, $this->getAllValidByUserIdFilterCondition($user_id));
|
||||
}
|
||||
|
||||
protected function getAllValidByUserIdFilterCondition($user_id){
|
||||
return [
|
||||
['name' => 'user_id', 'op' => '=','value' => $user_id ],
|
||||
['raw' => 'DATE_ADD(created_at, INTERVAL lifetime second) >= UTC_TIMESTAMP()'],
|
||||
]);
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -31,4 +31,19 @@ final class EloquentRefreshTokenRepository extends AbstractEloquentOAuth2TokenRe
|
|||
$this->log_service = $log_service;
|
||||
}
|
||||
|
||||
protected function getAllValidByClientIdentifierFilterCondition($client_identifier){
|
||||
|
||||
return [
|
||||
['name' => 'client_id', 'op' => '=','value' => $client_identifier ],
|
||||
['name' => 'void', 'op' => '=','value' => 0],
|
||||
];
|
||||
}
|
||||
|
||||
protected function getAllValidByUserIdFilterCondition($user_id){
|
||||
return [
|
||||
['name' => 'user_id', 'op' => '=','value' => $user_id ],
|
||||
['name' => 'void', 'op' => '=','value' => 0],
|
||||
];
|
||||
}
|
||||
|
||||
}
|
|
@ -12,7 +12,7 @@ jQuery(document).ready(function($){
|
|||
// event.item: contains the item
|
||||
// event.cancel: set to true to prevent the item getting added
|
||||
var regex_email = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/ig;
|
||||
var current = regex_email.test( event.item );
|
||||
var current = regex_email.test( event.item );
|
||||
if(!current)
|
||||
event.cancel = true;
|
||||
});
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
var pageSizeTokens = 25;
|
||||
var refreshTokenCurrentPage = 1;
|
||||
var accessTokenCurrentPage = 1;
|
||||
|
||||
function updateAccessTokenList(page, page_size){
|
||||
//reload access tokens
|
||||
accessTokenCurrentPage = page;
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: TokensUrls.AccessTokenUrls.get +'?offset='+page+'&limit='+page_size,
|
||||
|
@ -36,7 +41,8 @@ function updateAccessTokenList(page, page_size){
|
|||
$('#body-access-tokens').html(html.html());
|
||||
var pages_html = '';
|
||||
for(var i = 0 ; i < data.pages ; i++){
|
||||
pages_html += "<li><a class='access_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
var active = ((i+1) == accessTokenCurrentPage) ? true : false;
|
||||
pages_html += "<li "+(active ? "class='active'":"" )+"><a class='access_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
}
|
||||
$('#access_token_paginator').html(pages_html)
|
||||
}
|
||||
|
@ -49,6 +55,7 @@ function updateAccessTokenList(page, page_size){
|
|||
|
||||
function updateRefreshTokenList(page, page_size){
|
||||
//reload access tokens
|
||||
refreshTokenCurrentPage = page;
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
url: TokensUrls.RefreshTokenUrl.get+'?offset='+page+'&limit='+page_size,
|
||||
|
@ -86,11 +93,13 @@ function updateRefreshTokenList(page, page_size){
|
|||
};
|
||||
var html = template.render(data.items, directives);
|
||||
$('#body-refresh-tokens').html(html.html());
|
||||
var pages_html = '';
|
||||
for(var i = 0 ; i < data.pages ; i++){
|
||||
pages_html += "<li><a class='refresh_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
var active = ((i+1) == refreshTokenCurrentPage) ? true : false;
|
||||
pages_html += "<li "+(active ? "class='active'":"" )+"><a class='refresh_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
}
|
||||
$('#refresh_token_paginator').html(pages_html)
|
||||
updateAccessTokenList();
|
||||
$('#refresh_token_paginator').html(pages_html);
|
||||
updateAccessTokenList(1, pageSizeTokens);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
|
@ -101,7 +110,7 @@ function updateRefreshTokenList(page, page_size){
|
|||
|
||||
jQuery(document).ready(function($){
|
||||
|
||||
var pageSize = 25;
|
||||
|
||||
|
||||
if($('#table-access-tokens tr').length == 1){
|
||||
$('#info-access-tokens').show();
|
||||
|
@ -122,31 +131,31 @@ jQuery(document).ready(function($){
|
|||
}
|
||||
|
||||
$("body").on('click','.refresh-access-tokens',function(event){
|
||||
updateAccessTokenList(1, pageSize);
|
||||
updateAccessTokenList(1, pageSizeTokens);
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
$("body").on('click','.refresh-access-tokens',function(event){
|
||||
updateRefreshTokenList(1, pageSize);
|
||||
$("body").on('click','.refresh-refresh-tokens',function(event){
|
||||
updateRefreshTokenList(1, pageSizeTokens);
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
$("body").on("click",".access_token_page", function(event){
|
||||
event.preventDefault();
|
||||
var page = $(this).data('page-nbr');
|
||||
accessTokenCurrentPage = $(this).data('page-nbr');
|
||||
|
||||
updateAccessTokenList(page, pageSize);
|
||||
updateAccessTokenList(accessTokenCurrentPage, pageSizeTokens);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$("body").on("click",".refresh_token_page", function(event){
|
||||
event.preventDefault();
|
||||
var page = $(this).data('page-nbr');
|
||||
refreshTokenCurrentPage= $(this).data('page-nbr');
|
||||
|
||||
updateRefreshTokenList(page, pageSize);
|
||||
updateRefreshTokenList(refreshTokenCurrentPage, pageSizeTokens);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
@ -154,39 +163,58 @@ jQuery(document).ready(function($){
|
|||
$("body").on('click',".revoke-token",function(event){
|
||||
|
||||
var link = $(this);
|
||||
var value = link.attr('data-value');
|
||||
var hint = link.attr('data-hint');
|
||||
var value = link.data('value');
|
||||
var hint = link.data('hint');
|
||||
var url = link.attr('href');
|
||||
var table_id = hint ==='refresh-token'? 'table-refresh-tokens':'table-access-tokens';
|
||||
var info_id = hint ==='refresh-token'? 'info-refresh-tokens':'info-access-tokens';
|
||||
var confirm_msg = hint ==='refresh-token'? 'Are you sure?, revoking this refresh token also will become void all related Access Tokens':'Are you sure?';
|
||||
if(confirm(confirm_msg)){
|
||||
var confirm_msg = hint ==='refresh-token'? 'Revoking this refresh token also will become void all related Access Tokens.':'Revoke Access Token?';
|
||||
|
||||
$.ajax(
|
||||
{
|
||||
type: "DELETE",
|
||||
url: url,
|
||||
dataType: "json",
|
||||
timeout:60000,
|
||||
success: function (data,textStatus,jqXHR) {
|
||||
//load data...
|
||||
var row = $('#'+value);
|
||||
row.remove();
|
||||
var row_qty = $('#'+table_id+' tr').length;
|
||||
if(row_qty===1){ //only we have the header ...
|
||||
$('#'+table_id).hide();
|
||||
$('#'+info_id).show();
|
||||
swal({
|
||||
title: "Are you sure?",
|
||||
text: confirm_msg,
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Yes, revoke it!",
|
||||
closeOnConfirm: true
|
||||
},
|
||||
function(){
|
||||
$.ajax(
|
||||
{
|
||||
type: "DELETE",
|
||||
url: url,
|
||||
dataType: "json",
|
||||
timeout:60000,
|
||||
success: function (data,textStatus,jqXHR) {
|
||||
//load data...
|
||||
var row = $('#'+value);
|
||||
row.remove();
|
||||
var row_qty = $('#'+table_id+' tr').length;
|
||||
if(row_qty===1){ //only we have the header ...
|
||||
if(hint=='refresh-token' && refreshTokenCurrentPage > 1) {
|
||||
refreshTokenCurrentPage -= 1;
|
||||
updateRefreshTokenList(refreshTokenCurrentPage, pageSizeTokens);
|
||||
}
|
||||
if(hint=='access-token' && accessTokenCurrentPage > 1) {
|
||||
accessTokenCurrentPage -= 1;
|
||||
updateAccessTokenList(accessTokenCurrentPage, pageSizeTokens);
|
||||
}
|
||||
else{
|
||||
$('#'+table_id).hide();
|
||||
$('#'+info_id).show();
|
||||
}
|
||||
}
|
||||
if(hint=='refresh-token'){
|
||||
updateAccessTokenList(1, pageSizeTokens);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
ajaxError(jqXHR, textStatus, errorThrown);
|
||||
}
|
||||
if(hint=='refresh-token'){
|
||||
updateAccessTokenList();
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
ajaxError(jqXHR, textStatus, errorThrown);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
var pageSizeUserGrants = 25;
|
||||
var refreshTokenCurrentPage = 1;
|
||||
var accessTokenCurrentPage = 1;
|
||||
|
||||
function updateAccessTokenList(page, page_size){
|
||||
accessTokenCurrentPage = page;
|
||||
//reload access tokens
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
|
@ -36,7 +41,8 @@ function updateAccessTokenList(page, page_size){
|
|||
$('#body-access-tokens').html(html.html());
|
||||
var pages_html = '';
|
||||
for(var i = 0 ; i < data.pages ; i++){
|
||||
pages_html += "<li><a class='access_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
var active = ((i+1) == accessTokenCurrentPage) ? true : false;
|
||||
pages_html += "<li "+(active ? "class='active'":"" )+"><a class='access_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
}
|
||||
$('#access_token_paginator').html(pages_html)
|
||||
}
|
||||
|
@ -48,6 +54,7 @@ function updateAccessTokenList(page, page_size){
|
|||
}
|
||||
|
||||
function updateRefreshTokenList(page, page_size){
|
||||
refreshTokenCurrentPage = page;
|
||||
//reload access tokens
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
|
@ -86,11 +93,13 @@ function updateRefreshTokenList(page, page_size){
|
|||
};
|
||||
var html = template.render(data.items, directives);
|
||||
$('#body-refresh-tokens').html(html.html());
|
||||
var pages_html = '';
|
||||
for(var i = 0 ; i < data.pages ; i++){
|
||||
pages_html += "<li><a class='refresh_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
var active = ((i+1) == refreshTokenCurrentPage) ? true : false;
|
||||
pages_html += "<li "+(active ? "class='active'":"" )+"><a class='refresh_token_page' href='#' data-page-nbr='"+(i+1)+"'>"+(i+1)+"</a></li>";
|
||||
}
|
||||
$('#refresh_token_paginator').html(pages_html)
|
||||
updateAccessTokenList();
|
||||
updateAccessTokenList(1, pageSizeUserGrants);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
|
@ -101,7 +110,7 @@ function updateRefreshTokenList(page, page_size){
|
|||
|
||||
jQuery(document).ready(function($){
|
||||
|
||||
var pageSize = 25;
|
||||
|
||||
|
||||
$('#oauth2-console','#main-menu').addClass('active');
|
||||
|
||||
|
@ -125,58 +134,75 @@ jQuery(document).ready(function($){
|
|||
|
||||
$("body").on("click",".access_token_page", function(event){
|
||||
event.preventDefault();
|
||||
var page = $(this).data('page-nbr');
|
||||
|
||||
updateAccessTokenList(page, pageSize);
|
||||
|
||||
accessTokenCurrentPage = $(this).data('page-nbr');
|
||||
updateAccessTokenList(accessTokenCurrentPage, pageSizeUserGrants);
|
||||
return false;
|
||||
});
|
||||
|
||||
$("body").on("click",".refresh_token_page", function(event){
|
||||
event.preventDefault();
|
||||
var page = $(this).data('page-nbr');
|
||||
|
||||
updateRefreshTokenList(page, pageSize);
|
||||
|
||||
refreshTokenCurrentPage = $(this).data('page-nbr');
|
||||
updateRefreshTokenList(refreshTokenCurrentPage, pageSizeUserGrants);
|
||||
return false;
|
||||
});
|
||||
|
||||
$("body").on('click',".revoke-token",function(event){
|
||||
|
||||
var link = $(this);
|
||||
var value = link.attr('data-value');
|
||||
var hint = link.attr('data-hint');
|
||||
var value = link.data('value');
|
||||
var hint = link.data('hint');
|
||||
var url = link.attr('href');
|
||||
var table_id = hint ==='refresh-token'? 'table-refresh-tokens':'table-access-tokens';
|
||||
var info_id = hint ==='refresh-token'? 'info-refresh-tokens':'info-access-tokens';
|
||||
var confirm_msg = hint ==='refresh-token'? 'Are you sure?, revoking this refresh token also will become void all related Access Tokens':'Are you sure?';
|
||||
if(confirm(confirm_msg)){
|
||||
var confirm_msg = hint ==='refresh-token'? 'Revoking this refresh token also will become void all related Access Tokens':'Revoke Access Token ?';
|
||||
|
||||
$.ajax(
|
||||
{
|
||||
type: "DELETE",
|
||||
url: url,
|
||||
dataType: "json",
|
||||
timeout:60000,
|
||||
success: function (data,textStatus,jqXHR) {
|
||||
//load data...
|
||||
var row = $('#'+value);
|
||||
row.remove();
|
||||
var row_qty = $('#'+table_id+' tr').length;
|
||||
if(row_qty===1){ //only we have the header ...
|
||||
$('#'+table_id).hide();
|
||||
$('#'+info_id).show();
|
||||
swal({
|
||||
title: "Are you sure?",
|
||||
text: confirm_msg,
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Yes, revoke it!",
|
||||
closeOnConfirm: true
|
||||
},
|
||||
function(){
|
||||
$.ajax(
|
||||
{
|
||||
type: "DELETE",
|
||||
url: url,
|
||||
dataType: "json",
|
||||
timeout:60000,
|
||||
success: function (data,textStatus,jqXHR) {
|
||||
//load data...
|
||||
var row = $('#'+value);
|
||||
row.remove();
|
||||
var row_qty = $('#'+table_id+' tr').length;
|
||||
if(row_qty===1){ //only we have the header ...
|
||||
|
||||
if(hint=='refresh-token' && refreshTokenCurrentPage > 1) {
|
||||
refreshTokenCurrentPage -= 1;
|
||||
updateRefreshTokenList(refreshTokenCurrentPage, pageSizeUserGrants);
|
||||
}
|
||||
if(hint=='access-token' && accessTokenCurrentPage > 1) {
|
||||
accessTokenCurrentPage -= 1;
|
||||
updateAccessTokenList(accessTokenCurrentPage, pageSizeUserGrants);
|
||||
}
|
||||
else{
|
||||
$('#'+table_id).hide();
|
||||
$('#'+info_id).show();
|
||||
}
|
||||
}
|
||||
if(hint=='refresh-token'){
|
||||
updateAccessTokenList(1, pageSizeUserGrants);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
ajaxError(jqXHR, textStatus, errorThrown);
|
||||
}
|
||||
if(hint=='refresh-token'){
|
||||
updateAccessTokenList();
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
ajaxError(jqXHR, textStatus, errorThrown);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
<div class="col-md-12">
|
||||
<ul class="pagination" id="access_token_paginator">
|
||||
<?php for($i = 0 ; $i < $access_tokens_pages ; $i++){ ?>
|
||||
<li><a class="access_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<li <?php if($i == 0) echo "class='active'" ?>><a class="access_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -88,7 +88,7 @@
|
|||
<div class="col-md-12">
|
||||
<ul class="pagination" id="refresh_token_paginator">
|
||||
<?php for($i = 0 ; $i < $refresh_tokens_pages ; $i++){ ?>
|
||||
<li><a class="refresh_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<li <?php if($i == 0) echo "class='active'" ?>><a class="refresh_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
{!! HTML::script('bower_assets/typeahead.js/dist/typeahead.bundle.js')!!}
|
||||
{!! HTML::script('bower_assets/bootstrap-tagsinput/dist/bootstrap-tagsinput.js')!!}
|
||||
{!! HTML::script('bower_assets/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js')!!}
|
||||
|
||||
<script type="application/javascript">
|
||||
|
||||
var dataClientUrls =
|
||||
|
@ -37,18 +38,22 @@
|
|||
key_management_algorihtms: {!!Utils\ArrayUtils::toJson(OAuth2\OAuth2Protocol::$supported_key_management_algorithms)!!},
|
||||
content_encryption_algorihtms: {!!Utils\ArrayUtils::toJson(OAuth2\OAuth2Protocol::$supported_content_encryption_algorithms)!!}
|
||||
};
|
||||
|
||||
var current_admin_users = [];
|
||||
|
||||
@foreach($client->admin_users()->get() as $user)
|
||||
current_admin_users.push({ "id": {!!$user->id!!} , "value": "{!! $user->getFullName() !!}" });
|
||||
@endforeach
|
||||
|
||||
$(document).ready
|
||||
(
|
||||
function()
|
||||
{
|
||||
}
|
||||
);
|
||||
$(document).ready(function () {
|
||||
$('.panel-collapse').collapse('hide');
|
||||
location.hash && $(location.hash + '.collapse').collapse('show');
|
||||
|
||||
$(document).on('click', '.head-button', function(e){
|
||||
$('.panel-collapse').collapse('hide');
|
||||
window.location.hash = $(this).attr('href');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@append
|
||||
@section('content')
|
||||
|
@ -77,17 +82,18 @@
|
|||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
|
||||
<!-- main data -->
|
||||
<div class="panel panel-default" style="padding-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="headingOne" style="margin-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="main_data_heading" style="margin-bottom:0px">
|
||||
<h4 class="panel-title">
|
||||
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||
<a role="button" class="head-button" data-toggle="collapse" data-parent="#accordion" href="#main_data" aria-expanded="true" aria-controls="main_data">
|
||||
OAuth 2.0 Client Data
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
|
||||
<div id="main_data" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="main_data_heading">
|
||||
<div class="panel-body">
|
||||
@include('oauth2.profile.edit-client-data',array('access_tokens' => $access_tokens, 'refresh_tokens' => $refresh_tokens,'client' => $client))
|
||||
</div>
|
||||
|
@ -95,14 +101,14 @@
|
|||
</div>
|
||||
<!-- scopes -->
|
||||
<div class="panel panel-default" style="padding-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="heading4" style="margin-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="allowed_scopes_heading" style="margin-bottom:0px">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse4" aria-expanded="false" aria-controls="collapse4">
|
||||
<a class="collapsed head-button" role="button" data-toggle="collapse" data-parent="#accordion" href="#allowed_scopes" aria-expanded="false" aria-controls="allowed_scopes">
|
||||
Application Allowed Scopes
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapse4" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading4">
|
||||
<div id="allowed_scopes" class="panel-collapse collapse" role="tabpanel" aria-labelledby="allowed_scopes_heading">
|
||||
<div class="panel-body">
|
||||
@include('oauth2.profile.edit-client-scopes',array('access_tokens' => $access_tokens, 'refresh_tokens' => $refresh_tokens,'client'=>$client) )
|
||||
</div>
|
||||
|
@ -110,14 +116,14 @@
|
|||
</div>
|
||||
<!-- grants -->
|
||||
<div class="panel panel-default" style="padding-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="heading5" style="margin-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="grants_heading" style="margin-bottom:0px">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse5" aria-expanded="false" aria-controls="collapse5">
|
||||
<a class="collapsed head-button" role="button" data-toggle="collapse" data-parent="#accordion" href="#grants" aria-expanded="false" aria-controls="grants">
|
||||
Application Grants
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapse5" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading5">
|
||||
<div id="grants" class="panel-collapse collapse" role="tabpanel" aria-labelledby="grants_heading">
|
||||
<div class="panel-body">
|
||||
@include('oauth2.profile.edit-client-tokens',array('access_tokens' => $access_tokens, 'refresh_tokens' => $refresh_tokens,'client'=>$client) )
|
||||
</div>
|
||||
|
@ -125,14 +131,14 @@
|
|||
</div>
|
||||
<!-- security settings -->
|
||||
<div class="panel panel-default" style="padding-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="heading6" style="margin-bottom:0px">
|
||||
<div class="panel-heading" role="tab" id="security_heading" style="margin-bottom:0px">
|
||||
<h4 class="panel-title">
|
||||
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse6" aria-expanded="false" aria-controls="collapse6">
|
||||
<a class="collapsed head-button" role="button" data-toggle="collapse" data-parent="#accordion" href="#security" aria-expanded="false" aria-controls="security">
|
||||
Security Settings
|
||||
</a>
|
||||
</h4>
|
||||
</div>
|
||||
<div id="collapse6" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading6">
|
||||
<div id="security" class="panel-collapse collapse" role="tabpanel" aria-labelledby="security_heading">
|
||||
<div class="panel-body">
|
||||
@include('oauth2.profile.edit-client-security-main-settings',array('client' => $client) )
|
||||
<hr/>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<td>{!!$access_token->client()->first()->getFriendlyApplicationType()!!}</td>
|
||||
<td>{!!$access_token->client()->first()->app_name!!}</td>
|
||||
<td>{!!$access_token->scope!!}</td>
|
||||
<td>{!! HTML::link(URL::action("Api\\UserApiController@revokeToken",array("id"=>$user_id,"value"=>$access_token->value, "hint"=>'access_token')),'Revoke Access',array('data-value' => $access_token->value,'data-hint'=>'access_token','class'=>'btn btn-default btn-md active btn-delete revoke-token','title'=>'Revoke Access Token')) !!}</td>
|
||||
<td>{!! HTML::link(URL::action("Api\\UserApiController@revokeToken",array("id"=>$user_id,"value"=>$access_token->value, "hint"=>'access-token')),'Revoke Access',array('data-value' => $access_token->value,'data-hint'=>'access-token','class'=>'btn btn-default btn-md active btn-delete revoke-token','title'=>'Revoke Access Token')) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<div class="col-md-12">
|
||||
<ul class="pagination" id="access_token_paginator">
|
||||
<?php for($i = 0 ; $i < $access_tokens_pages ; $i++){ ?>
|
||||
<li><a class="access_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<li <?php if($i == 0) echo "class='active'" ?>><a class="access_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -75,7 +75,7 @@
|
|||
<td>{!!$refresh_token->client()->first()->getFriendlyApplicationType()!!}</td>
|
||||
<td>{!!$refresh_token->client()->first()->app_name!!}</td>
|
||||
<td>{!!$refresh_token->scope!!}</td>
|
||||
<td>{!! HTML::link(URL::action("Api\\UserApiController@revokeToken",array("id" => $user_id,"value" => $refresh_token->value, "hint" => 'refresh_token')),'Revoke Access',array('data-value' => $refresh_token->value,'data-hint' => 'refresh_token','class' => 'btn btn-default btn-md active btn-delete revoke-token','title' => 'Revoke Access Token')) !!}</td>
|
||||
<td>{!! HTML::link(URL::action("Api\\UserApiController@revokeToken",array("id" => $user_id,"value" => $refresh_token->value, "hint" => 'refresh-token')),'Revoke Access',array('data-value' => $refresh_token->value,'data-hint' => 'refresh_token','class' => 'btn btn-default btn-md active btn-delete revoke-token','title' => 'Revoke Access Token')) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
@ -87,7 +87,7 @@
|
|||
<div class="col-md-12">
|
||||
<ul class="pagination" id="refresh_token_paginator">
|
||||
<?php for($i = 0 ; $i < $refresh_tokens_pages ; $i++){ ?>
|
||||
<li><a class="refresh_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<li <?php if($i == 0) echo "class='active'" ?> ><a class="refresh_token_page" href="#" data-page-nbr="{!! $i+1 !!}">{!! $i+1 !!}</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -101,11 +101,11 @@
|
|||
var TokensUrls = {
|
||||
AccessTokenUrls : {
|
||||
get : '{!! URL::action("Api\\ClientApiController@getAccessTokensByCurrentUser", array() )!!}',
|
||||
delete :'{!! URL::action("Api\\UserApiController@revokeToken",array("id" => $user_id, "value" => -1, "hint" =>"access_token")) !!}'
|
||||
delete :'{!! URL::action("Api\\UserApiController@revokeToken",array("id" => $user_id, "value" => -1, "hint" =>"access-token")) !!}'
|
||||
},
|
||||
RefreshTokenUrl : {
|
||||
get: '{!! URL::action("Api\\ClientApiController@getRefreshTokensByCurrentUser", array() )!!}',
|
||||
delete :'{!! URL::action("Api\\UserApiController@revokeToken",array("id" => $user_id, "value" => -1, "hint" => "refresh_token")) !!}'
|
||||
delete :'{!! URL::action("Api\\UserApiController@revokeToken",array("id" => $user_id, "value" => -1, "hint" => "refresh-token")) !!}'
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue