<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>mizzy.org: perl&#12391;OpenID Consumer&#12434;&#23455;&#35013;&#12375;&#12390;&#12415;&#12427;</title>
    <link>http://blog.mizzy.org/articles/2005/11/05/openId00</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>perl&#12391;OpenID Consumer&#12434;&#23455;&#35013;&#12375;&#12390;&#12415;&#12427;</title>
      <description>&lt;p class="entryBody"&gt;
&lt;a href="http://openid.net/" target="_blank"&gt;OpenID&lt;/a&gt; &#12434;&#29702;&#35299;&#12377;&#12427;&#12383;&#12417;&#12395;&#12289;OpenID Consumer&#12434;perl&#12391;&#23455;&#35013;&#12375;&#12390;&#12415;&#12427;&#12371;&#12392;&#12395;&#12375;&#12383;&#12290;&#12392;&#12356;&#12387;&#12390;&#12418;&#12289; &lt;a href="http://search.cpan.org/perldoc?Net::OpenID::Consumer" target="_blank"&gt;Net::OpenID::Consumer&lt;/a&gt; &#12514;&#12472;&#12517;&#12540;&#12523;&#12434;&#21033;&#29992;&#12375;&#12390;&#12356;&#12427;&#12431;&#12369;&#12391;&#12289;&#12356;&#12385;&#12363;&#12425;&#33258;&#20998;&#12391;&#23455;&#35013;&#12375;&#12390;&#12356;&#12427;&#12431;&#12369;&#12391;&#12399;&#12394;&#12356;&#12391;&#12377;&#12290;&#12300;&#12514;&#12472;&#12517;&#12540;&#12523;&#12364;&#12354;&#12427;&#12363;&#12425;&#27005;&#21213;&#12301;&#12392;&#24605;&#12387;&#12390;&#12356;&#12383;&#12425;&#12289;&#24847;&#22806;&#12392;&#12390;&#12371;&#12378;&#12387;&#12390;&#12375;&#12414;&#12356;&#12414;&#12375;&#12383;&#12290;&lt;a href="/openid/" target="_blank"&gt;&#21205;&#20316;&#12469;&#12531;&#12503;&#12523;&lt;/a&gt;&#12290;&lt;a href="/archives/openid.tar.gz"&gt;&#12477;&#12540;&#12473;&lt;/a&gt;&#12290;
&lt;/p&gt;

&lt;p class="entryBody"&gt;
&#35469;&#35388;&#26178;&#12398;&#27969;&#12428;&#12395;&#12388;&#12356;&#12390;&#12399;&#12289;&#12300;&lt;a href="http://www.banana-fish.com/~piro/20051021.html" target="_blank"&gt;&#12404;&#12429;&#26085;&#35352; - OpenID: Specs , OpenID&#35469;&#35388;&#12469;&#12540;&#12496; , OpenID&#12395;&#12362;&#12369;&#12427;&#35469;&#35388;&#12387;&#12390;&#22900;&lt;/a&gt;&#12301;&#12364;&#35443;&#12375;&#12356;&#12391;&#12377;&#12290;&#20170;&#22238;&#23455;&#35013;&#12375;&#12390;&#12356;&#12427;&#12398;&#12399;&#12289;&#12404;&#12429;&#26085;&#35352;&#12373;&#12435;&#12391;&#12300;&#12392;&#12426;&#12354;&#12360;&#12378;&#12431;&#12363;&#12426;&#12420;&#12377;&#12356;&#12301;&#12392;&#35328;&#12431;&#12428;&#12390;&#12356;&#12427;&#12289;&#12300;dumb + setup &#12514;&#12540;&#12489;&#12301;&#12391;&#12377;&#12290;

&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p class="entryBody"&gt;
&#20197;&#19979;&#12289;&#31777;&#21336;&#12395;&#35500;&#26126;&#12434;&#12290;
&lt;/p&gt;

&lt;p class="entryBody"&gt;
&lt;a href="/openid/" target="_blank"&gt;&#21205;&#20316;&#12469;&#12531;&#12503;&#12523;&lt;/a&gt;&#12395;&#12450;&#12463;&#12475;&#12473;&#12377;&#12427;&#12392;&#12289;&#20197;&#19979;&#12398;&#37096;&#20998;&#12364;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;
&lt;/p&gt;

&lt;pre class="code"&gt;
sub login {
    my $self = shift;

    if($self-&gt;query-&gt;param('openid.sig')){
	my $csr = $self-&gt;_create_csr;
	my $vident = $csr-&gt;verified_identity or die $!;
	return 'You are &amp;lt;strong&amp;gt;' . $vident-&gt;url . '&amp;lt;/strong&amp;gt; !';
    }
    else {
	my $template = $self-&gt;load_tmpl('login.html');
	return $template-&gt;output;
    }
}
&lt;/pre&gt;

&lt;p class="entryBody"&gt;
openid.sig &#12497;&#12521;&#12513;&#12540;&#12479;&#12364;&#28193;&#12373;&#12428;&#12390;&#12356;&#12427;&#12392;&#12289;Open ID Server&#12395;&#23550;&#12375;&#12390;&#35469;&#35388;&#24773;&#22577;&#12398;&#27491;&#24403;&#24615;&#12434;&#30906;&#35469;&#12375;&#12395;&#34892;&#12365;&#12414;&#12377;&#12364;&#12289;&#12414;&#12384;&#26368;&#21021;&#12398;&#12450;&#12463;&#12475;&#12473;&#12391;&#35469;&#35388;&#12375;&#12390;&#12356;&#12414;&#12379;&#12435;&#12398;&#12391;&#12289;else &#20197;&#19979;&#12364;&#23455;&#34892;&#12373;&#12428;&#12390;&#12289;&#12525;&#12464;&#12452;&#12531;&#12501;&#12457;&#12540;&#12512;&#12434;&#34920;&#31034;&#12375;&#12414;&#12377;&#12290;
&lt;/p&gt;


&lt;p class="entryBody"&gt;
&#12525;&#12464;&#12452;&#12531;&#12501;&#12457;&#12540;&#12512;&#12395;&#12289;&#33258;&#20998;&#12398;ID&#12392;&#12394;&#12427;URL&#12434;&#20837;&#21147;&#12289;&#12469;&#12502;&#12511;&#12483;&#12488;&#12377;&#12427;&#12392;&#20197;&#19979;&#12398;&#12467;&#12540;&#12489;&#12364;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;
&lt;/p&gt;

&lt;pre class="code"&gt;
sub do_login {
    my $self = shift;
    
    my $csr = $self-&gt;_create_csr;
    my $claimed_identity = $csr-&gt;claimed_identity($self-&gt;query-&gt;param('openid_url'));
    my $check_url = $claimed_identity-&gt;check_url(
				       return_to      =&gt; 'http://mizzy.org/openid/',
				       trust_root     =&gt; 'http://mizzy.org/',
				       delayed_return =&gt; 1,
						 );

    $self-&gt;header_type('redirect');
    $self-&gt;header_props(-url =&gt; $check_url);
    return;
}

sub _create_csr {
    my $self = shift;
    my $csr = Net::OpenID::Consumer-&gt;new(
					 args            =&gt; $self-&gt;query,
					 consumer_secret =&gt; '012345',
					 );

    return $csr;
}
&lt;/pre&gt;

&lt;p class="entryBody"&gt;
&#12371;&#12371;&#12391;&#12399;&#12289;&#12404;&#12429;&#26085;&#35352;&#12373;&#12435;&#12398;&#35500;&#26126;&#12395;&#12354;&#12427;&#12289;1), 2)&#12398;&#20966;&#29702;&#12364;&#23455;&#34892;&#12373;&#12428;&#12289;OpenID Server&#12408;&#12522;&#12480;&#12452;&#12524;&#12463;&#12488;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12398;&#20966;&#29702;&#12399;&#12289;&lt;a href="http://openid.net/specs.bml" target="_blank"&gt;OpenID: Specs&lt;/a&gt; &#12398; &lt;a href="http://openid.net/specs.bml#mode-checkid_setup" target="_blank"&gt;checkid_setup&lt;/a&gt; &#12395;&#12354;&#12383;&#12426;&#12414;&#12377;&#12290;
&lt;/p&gt;

&lt;p class="entryBody"&gt;
OpenID Server&#19978;&#12391;&#12398;&#35469;&#35388;&#12364;&#23436;&#20102;&#12377;&#12427;&#12392;&#12289;QUERY_STRING&#12395;&#27096;&#12293;&#12394;&#12497;&#12521;&#12513;&#12540;&#12479;&#12434;&#12475;&#12483;&#12488;&#12375;&#12383;&#29366;&#24907;&#12391;&#12289;http://mizzy.org/openid/ &#12408;&#25147;&#12387;&#12390;&#12365;&#12289;&#26368;&#21021;&#12392;&#21516;&#27096;&#20197;&#19979;&#12398;&#12469;&#12502;&#12523;&#12540;&#12481;&#12531;&#12364;&#23455;&#34892;&#12373;&#12428;&#12414;&#12377;&#12290;
&lt;/p&gt;

&lt;pre class="code"&gt;
sub login {
    my $self = shift;

    if($self-&gt;query-&gt;param('openid.sig')){
	my $csr = $self-&gt;_create_csr;
	my $vident = $csr-&gt;verified_identity or die $!;
	return 'You are &amp;lt;strong&amp;gt;' . $vident-&gt;url . '&amp;lt;/strong&amp;gt; !';
    }
    else {
	my $template = $self-&gt;load_tmpl('login.html');
	return $template-&gt;output;
    }
}
&lt;/pre&gt;

&lt;p class="entryBody"&gt;
&#20170;&#24230;&#12399;openid.sig&#12497;&#12521;&#12513;&#12540;&#12479;&#65288;&#12392;&#20182;&#12398;OpenID&#38306;&#36899;&#12497;&#12521;&#12513;&#12540;&#12479;&#65289;&#12364; QUERY_STRING&#12395;&#12424;&#12426;&#28193;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12398;&#12391;&#12289; $csr-&gt;verified_identity &#12434;&#23455;&#34892;&#12375;&#12390;&#12289;&#12404;&#12429;&#26085;&#35352;&#12373;&#12435;&#12398;&#35500;&#26126;4)&#12395;&#12354;&#12383;&#12427;&#12289;&#35469;&#35388;&#24773;&#22577;&#12398;&#27491;&#24403;&#24615;&#30906;&#35469;&#12434; OpenID Server &#12395;&#23550;&#12375;&#12390;&#34892;&#12356;&#12414;&#12377;&#12290;&#12371;&#12398;&#20966;&#29702;&#12399;&#12289;&lt;a href="http://openid.net/specs.bml" target="_blank"&gt;OpenID: Specs&lt;/a&gt; &#12398; &lt;a href="http://openid.net/specs.bml#mode-check_authentication" target="_blank"&gt;check_authentication&lt;/a&gt; &#12395;&#12354;&#12383;&#12426;&#12414;&#12377;&#12290;
&lt;/p&gt;

&lt;p class="entryBody"&gt;
&#27491;&#24403;&#24615;&#12364;&#30906;&#35469;&#12391;&#12365;&#12427;&#12392;&#12289;&#12300;You are &#12354;&#12394;&#12383;&#12398;URL !&#12301; &#12392;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;
&lt;/p&gt;

&lt;p class="entryBody"&gt;
username.videntity.org &#12392; livejournal.com/users/username/ &#12399;ID&#12392;&#12375;&#12390;&#27491;&#24120;&#12395;&#21205;&#20316;&#12377;&#12427;&#12371;&#12392;&#12364;&#30906;&#35469;&#12391;&#12365;&#12414;&#12375;&#12383;&#12364;&#12289;profile.typekey.com/username/ &#12399;&#12394;&#12380;&#12363; openid.mode=cancel &#12392;&#12394;&#12387;&#12390;&#12375;&#12414;&#12356;&#12289;&#35469;&#35388;&#12391;&#12365;&#12414;&#12379;&#12435;&#12290;videntity.org &#12398;&#12525;&#12464;&#12452;&#12531;&#12395; profile.typekey.com/username/ &#12434;&#21033;&#29992;&#12375;&#12390;&#12418;&#35469;&#35388;&#12391;&#12365;&#12394;&#12356;&#12398;&#12391;&#12289;typekey &#20596;&#12398;&#21839;&#38988;&#12394;&#12398;&#12363;&#12394;&#12353;&#8230;
&lt;/p&gt;

</description>
      <pubDate>Sat, 05 Nov 2005 21:02:30 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:8EAA335E-FB43-11DB-B19E-9689BF6E4193</guid>
      <author>Gosuke Miyashita</author>
      <link>http://blog.mizzy.org/articles/2005/11/05/openId00</link>
      <category>program</category>
      <trackback:ping>http://blog.mizzy.org/articles/trackback/494</trackback:ping>
    </item>
  </channel>
</rss>
