現在、大学向けの小さな Web サイトに openID を実装する実験を行っています。私はこれに非常に慣れておらず、関連記事をフォローアップしています。lightopenId をダウンロードし、フォルダーを Web サーバーにアップロードしました。私の学校では Google がメール サービスをホストしているため、典型的なメール アドレスは次のようになりますstudentlastname@myuniversity.edu
。Google がログインmail.google.com
専用に設計したカスタム Web ページからログインできますmail.google.com/a/oakland.edu/
。
ユーザーを一般にリダイレクトする代わりに$openid->identity = 'https://www.google.com/accounts/o8/id';
、カスタム大学の Google がホストするページにユーザーをリダイレクトして認証することはできますか?
エラーが発生します:
に OpenID サーバーが見つかりません
http://mail.google.com/a/oakland.edu/accounts/o8/id
openid.php:
<?
<?php
require 'openid.php';
try {
# Change 'localhost' to your domain name.
$openid = new LightOpenID('http://webprolearner.ueuo.com');
if(!$openid->mode) {
if(isset($_GET['login'])) {
$openid->identity = 'mail.google.com/a/oakland.edu/accounts/o8/id';
header('Location: ' . $openid->authUrl());
}
?>
<form action="?login" method="post">
<button>Login with Google</button>
</form>
<?php
} elseif($openid->mode == 'cancel') {
echo 'User has canceled authentication!';
} else {
echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
}
} catch(ErrorException $e) {
echo $e->getMessage();
}