Dancer2-Plugin-Auth-Extensible
view release on metacpan or search on metacpan
lib/Dancer2/Plugin/Auth/Extensible.pm view on Meta::CPAN
716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750
};
}
sub
require_role {
my
$plugin
=
shift
;
croak
"Cannot use require_role since roles are disabled by disable_roles setting"
if
$plugin
->disable_roles;
return
$plugin
->_build_wrapper(
@_
,
'single'
);
}
sub
update_current_user {
my
(
$plugin
,
%update
) =
@_
;
my
$session
=
$plugin
->app->session;
if
(
my
$username
=
$session
->
read
(
'logged_in_user'
) ) {
my
$realm
=
$session
->
read
(
'logged_in_user_realm'
);
$plugin
->update_user(
$username
,
realm
=>
$realm
,
%update
);
}
else
{
$plugin
->app->
log
(
debug
=>
"Could not update current user as no user currently logged in"
);
}
}
sub
update_user {
my
(
$plugin
,
$username
,
%update
) =
@_
;
croak
"Realm must be specified when more than one realm configured"
if
!
$update
{realm} &&
$plugin
->realm_count > 1;
# uncoverable condition false
my
$realm
=
delete
$update
{realm} ||
$plugin
->realm_names->[0];
my
$provider
=
$plugin
->auth_provider(
$realm
);
my
$updated
=
$provider
->set_user_details(
$username
,
%update
);
my
$cur_user
=
$plugin
->app->session->
read
(
'logged_in_user'
);
( run in 0.359 second using v1.01-cache-2.11-cpan-26ccb49234f )