/usr/share/tdiary/contrib/plugin/openid.rb is in tdiary-contrib 3.2.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | #
# openid.rb: Insert OpenID delegation information. $Revision: 1.10 $
#
# Copyright (C) 2005, TADA Tadashi <sho@spc.gr.jp>
# You can redistribute it and/or modify it under GPL2.
#
@openid_config = (Struct.const_defined?("OpenIdConfig") ? Struct::OpenIdConfig :
Struct.new("OpenIdConfig", :openid, :openid2, :x_xrds_location))
if /^(?:latest|conf|saveconf)$/ =~ @mode then
@openid_list = {
# service => @openid_config.new(
# [openid.server, openid.delegate(replace <ID> as account name)], # openid
# [openid2.provider, openid2.local_id(replace <ID> as account name)], # openid2
# 'X-XRDS-Location(replace <ID> as account name)'),
'Hatena' => @openid_config.new(['https://www.hatena.ne.jp/openid/server', 'http://www.hatena.ne.jp/<ID>/']),
'livedoor' => @openid_config.new(['http://auth.livedoor.com/openid/server', 'http://profile.livedoor.com/<ID>']),
'LiveJournal' => @openid_config.new(['http://www.livejournal.com/openid/server.bml', 'http://<ID>.livejournal.com/']),
'OpenID.ne.jp' => @openid_config.new(
['http://www.openid.ne.jp/user/auth', 'http://<ID>.openid.ne.jp'],
nil,
'http://<ID>.openid.ne.jp/user/xrds'),
'TypeKey' => @openid_config.new(['http://www.typekey.com/t/openid/', 'http://profile.typekey.com/<ID>/']),
'Vox' => @openid_config.new(['http://www.vox.com/services/openid/server', 'http://<ID>.vox.com/']),
'myopenid.com' => @openid_config.new(
['http://www.myopenid.com/server', 'http://<ID>.myopenid.com'], # openid
['http://www.myopenid.com/server', 'http://<ID>.myopenid.com'], # openid2
"http://www.myopenid.com/xrds?username=<ID>"),
'claimID.com' => @openid_config.new(
['http://openid.claimid.com/server', 'http://openid.claimid.com/<ID>'],
nil, #['http://openid.claimid.com/server', 'http://openid.claimid.com/<ID>'],
'http://claimid.com/<ID>/xrds'),
'Personal Identity Provider (PIP)' => @openid_config.new(
['http://pip.verisignlabs.com/server', 'http://<ID>.pip.verisignlabs.com/'],
['http://pip.verisignlabs.com/server', 'http://<ID>.pip.verisignlabs.com/'],
'http://pip.verisignlabs.com/user/<ID>/yadisxrds'),
'Yahoo! Japan' => @openid_config.new(
nil,
['https://open.login.yahooapis.jp/openid/op/auth', 'https://me.yahoo.co.jp/a/<ID>'],
'http://open.login.yahoo.co.jp/openid20/www.yahoo.co.jp/xrds'),
'Yahoo!' => @openid_config.new(
nil,
['https://open.login.yahooapis.com/openid/op/auth', 'https://me.yahoo.com/a/<ID>'],
'http://open.login.yahooapis.com/openid20/www.yahoo.com/xrds'),
}
if @conf['openid.service'] and @conf['openid.id'] then
openid_service = @openid_list[@conf['openid.service']]
openid_id = @conf['openid.id']
result = ''
add_header_proc do
result = <<-HTML if openid_service.openid
<link rel="openid.server" href="#{h openid_service.openid[0]}">
<link rel="openid.delegate" href="#{h openid_service.openid[1].sub( /<ID>/, openid_id )}">
HTML
result << <<-HTML if openid_service.openid2
<link rel="openid2.provider" href="#{h openid_service.openid2[0]}">
<link rel="openid2.local_id" href="#{h openid_service.openid2[1].sub( /<ID>/, openid_id )}">
HTML
result << <<-HTML if openid_service.x_xrds_location
<meta http-equiv="X-XRDS-Location" content="#{h openid_service.x_xrds_location.sub( /<ID>/, openid_id )}">
HTML
result.gsub( /^\t{2}/, '' )
end if openid_service
end
end
add_conf_proc( 'openid', @openid_conf_label ) do
if @mode == 'saveconf' then
@conf['openid.service'] = @cgi.params['openid.service'][0]
@conf['openid.id'] = @cgi.params['openid.id'][0]
end
options = ''
@openid_list.each_key do |key|
options << %Q|<option value="#{h key}"#{" selected" if @conf['openid.service'] == key}>#{h key}</option>\n|
end
<<-HTML
<h3 class="subtitle">#{@openid_service_label}</h3>
<p>#{@openid_service_desc}</p>
<p><select name="openid.service">
#{options}
</select></p>
<h3 class="subtitle">#{@openid_id_label}</h3>
<p>#{@openid_id_desc}</p>
<p><input name="openid.id" value="#{h @conf['openid.id']}"></p>
HTML
end
|