line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package OpenID::Lite::Extension::UI::Request; |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
451
|
use Any::Moose; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
extends 'OpenID::Lite::Extension::Request'; |
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
use OpenID::Lite::Extension::UI qw( |
7
|
|
|
|
|
|
|
UI_NS |
8
|
|
|
|
|
|
|
UI_POPUP_NS |
9
|
|
|
|
|
|
|
UI_LANG_NS |
10
|
|
|
|
|
|
|
UI_NS_ALIAS |
11
|
|
|
|
|
|
|
); |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
has 'lang' => ( |
14
|
|
|
|
|
|
|
is => 'rw', |
15
|
|
|
|
|
|
|
isa => 'Str', |
16
|
|
|
|
|
|
|
# default => q{en-US} |
17
|
|
|
|
|
|
|
); |
18
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
has 'mode' => ( |
20
|
|
|
|
|
|
|
is => 'rw', |
21
|
|
|
|
|
|
|
isa => 'Str', |
22
|
|
|
|
|
|
|
# default => q{popup}, |
23
|
|
|
|
|
|
|
); |
24
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
# RP should create popup to be 450 pixels wide and 500 pixels tall. |
26
|
|
|
|
|
|
|
# The popup must have the address bar displayed. |
27
|
|
|
|
|
|
|
# The popup must be in a standalone browser window. |
28
|
|
|
|
|
|
|
# The contents of the popup must not be framed by the RP. |
29
|
|
|
|
|
|
|
override 'append_to_params' => sub { |
30
|
|
|
|
|
|
|
my ( $self, $params ) = @_; |
31
|
|
|
|
|
|
|
$params->register_extension_namespace( UI_NS_ALIAS, UI_NS ); |
32
|
|
|
|
|
|
|
$params->set_extension( UI_NS_ALIAS, 'lang', $self->lang ); |
33
|
|
|
|
|
|
|
$params->set_extension( UI_NS_ALIAS, 'mode', $self->mode ); |
34
|
|
|
|
|
|
|
}; |
35
|
|
|
|
|
|
|
|
36
|
|
|
|
|
|
|
sub from_provider_response { |
37
|
|
|
|
|
|
|
my ( $class, $res ) = @_; |
38
|
|
|
|
|
|
|
my $message = $res->req_params->copy(); |
39
|
|
|
|
|
|
|
my $ns_url = UI_NS; |
40
|
|
|
|
|
|
|
my $alias = $message->get_ns_alias($ns_url); |
41
|
|
|
|
|
|
|
return unless $alias; |
42
|
|
|
|
|
|
|
my $data = $message->get_extension_args($alias) || {}; |
43
|
|
|
|
|
|
|
my $obj = $class->new(); |
44
|
|
|
|
|
|
|
my $result = $obj->parse_extension_args($data); |
45
|
|
|
|
|
|
|
return $result ? $obj : undef; |
46
|
|
|
|
|
|
|
} |
47
|
|
|
|
|
|
|
|
48
|
|
|
|
|
|
|
sub parse_extension_args { |
49
|
|
|
|
|
|
|
my ( $self, $args ) = @_; |
50
|
|
|
|
|
|
|
$self->lang( $args->{lang} ) if $args->{lang}; |
51
|
|
|
|
|
|
|
$self->mode( $args->{mode} ) if $args->{mode}; |
52
|
|
|
|
|
|
|
return 1; |
53
|
|
|
|
|
|
|
} |
54
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
no Any::Moose; |
56
|
|
|
|
|
|
|
__PACKAGE__->meta->make_immutable; |
57
|
|
|
|
|
|
|
1; |