HomeTravel ReportLocal FoodRail&BusAirportMileagemiscAbout Me
TechWiki
Updated : January 2011

DekiWiki Trusted Authentication

Single Sign Onのために「Trusted Authntiaction」の仕組みを利用しようとしたが、うまく動作しない。

当該ページの以下のコメントと同様の現象


hashinp says:
I tried to login to deki using the correct api key and without a passoword using the
Plug class in dream.php. This is not working,throws http status 401.
 
$result = $wgDekiPlug->At('users', 'authenticate')->With('apikey','v6sMyQAHqpNiLuv0Cp
UpLpfXG83KeOHI')->With('authprovider', 1)->WithCredentials('admin', '')->Post();
 
Posted 06:11, 22 Oct 2008

方式

ユーザ名とAPIキーでの認証

現象

401(認証失敗)となる


<?xml-stylesheet type='text/xsl' href='/@api/host/resources/error.xslt'?>
<error>
    <status>401</status>
    <title>Unauthorized</title>
    <message>認証失敗</message>
    <uri>http://dekiwiki/@api/deki/users/authenticate</uri>
</error>

ログ


2008-12-03 16:46:59,109 [8] TRACE DekiWikiService_default - POST:users/authenticate(Aut
henticating (POST:users/authenticate) Username: 'testuser' pw: '')
2008-12-03 16:46:59,171 [8] INFO  DekiWikiService_default - Feature [/deki/users/authen
ticate] executed in 106ms
2008-12-03 16:46:59,187 [8] TRACE MindTouch.Dream.Http.HttpTransport - ResponseHandler:
Status(Unauthorized,POST,http://localhost:8081/deki/users/authenticate)

「Authenticate」(AuthBL.cs)で、ユーザ名がみつからないということでエラーとなっている(110行目)ようである。

UserDA.RetrieveUserByname(userName)(104行目)で発行されているSQL文


Query /* UserDA::RetrieveUserByName */
SELECT  *
FROM    users
WHERE   user_name = 'testuser'

登録されていないユーザの場合は、新規に作成する仕様かと思うのだが.....?

エラーにせずにそのまま次を実行すれば、問題ないように思うが、C#のビルド環境がないので、未確認。



Copyright(c) 2012-2013 T.F.T. All rights reserved.