มอบหมาย OpenID ให้กับ Google (ไม่ใช่ Google Apps)


85

เป็นไปได้ไหมที่จะใช้เว็บไซต์ / บล็อกส่วนตัวของฉันเพื่อเข้าสู่ระบบไปยังไซต์ที่ใช้openidและมอบหมายให้บัญชี Google ของฉัน


ตกลงฉันค้นหาคำถามนี้ใน SO แต่ไม่มีคำตอบที่ดี หลังจากใช้เวลาสักพักฉันก็คิดหาวิธีทำ ฉันจะตอบคำถามนี้ด้วยตัวเองเพื่อเป็นแนวทางในการแบ่งปัน


3
เพิ่มคำตอบให้กับคำถามของคุณเองโดยทำเครื่องหมายว่าถูกต้องเพื่อที่ทุกคนจะได้เห็นว่าอะไรคือคำตอบในลักษณะที่แน่วแน่มากขึ้น
Oskar Kjellin

ขอบคุณ Oskar สำหรับเคล็ดลับ! อย่างไรก็ตามฉันไม่สามารถทำเครื่องหมายคำตอบว่าถูกต้องได้ในขณะนี้ มันบอกว่าต้องรอถึงพรุ่งนี้
Rio

ฉันได้ย้ายคำตอบออกจากคำถามและเป็นคำตอบของคุณหวังว่าคุณจะไม่สนใจ แต่โดยทั่วไปแล้ว SO จะใช้อย่างไร
Tom Robinson

@tjrobinson ขอบคุณมาก! :)
Rio

1
ฉันหวังว่าคำถามจะไม่ถูกแก้ไขเพราะตอนนี้ฉันไม่เข้าใจคำตอบ
Eric Falsken

คำตอบ:


98

ตอนนี้มันเป็น OpenID ผู้รับมอบสิทธิ์เป็นไปได้ที่บัญชี Google ของคุณ (ไม่ใช่ Google Apps)

ไม่นี่ไม่ได้ใช้ผู้ให้บริการ OpenID สาธิต โดยใช้ App Engine นี่คือบัญชี Google จริงของคุณ!

แรกที่คุณต้องเปิดการใช้งานของคุณGoogle โปรไฟล์ พยายามดูโปรไฟล์ของคุณและแก้ไขควรมีตัวเลือกในการตั้งค่า URL โปรไฟล์ของคุณ คุณมีทางเลือกสองทาง ได้แก่ ใช้ชื่อบัญชี Gmail ของคุณ (ไม่มีส่วน @ gmail.com) เป็นรหัสโปรไฟล์ของคุณหรือใช้หมายเลขสุ่มที่กำหนดให้กับคุณ ขึ้นอยู่กับคุณว่าจะใช้อันไหน ไม่ว่าจะด้วยวิธีใดรหัสนั้นคือรหัสโปรไฟล์ของคุณด้านล่าง

ตอนนี้เพิ่มโค้ด HTML ต่อไปนี้ในหน้ามอบหมายของคุณ:

<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud?source=profiles" /> 
<link rel="openid2.local_id" href="https://profiles.google.com/[YOUR PROFILE ID]" /> 

และก็เสร็จแล้ว ตอนนี้ลองเข้าสู่ระบบ SO ด้วย url ที่คุณกำหนดเอง!


1
เป็นไปได้ไหมที่จะมีหน้าการมอบหมายโฮสต์ของ Google ให้ฉันเหมือนที่ MyOpenID ทำ
Piotr Dobrogost

4
เนื่องจากตอนนี้ Google ได้รับการบวกทั้งหมดแล้ว url profiles.google.com จึงไม่ใช่สิ่งที่คุณจะได้รับอีกต่อไปเมื่อคุณไปที่ "โปรไฟล์ของฉัน" อย่างไรก็ตามหากโปรไฟล์ของคุณเป็นplus.google.com/107217643432815688625/postsแล้วก็profiles.google.com/ 107217643432815688625ยังคงใช้งานได้เหมือน openid2.local_id ของคุณ
smoofra

8
ปัจจุบันใช้ G + คุณต้องใส่:<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud" /> <link rel="openid2.local_id" href="https://plus.google.com/GPLUSID" />
Sebi

1
@ChrisQuenelle จากประสบการณ์ของฉันเมื่อคุณเปลี่ยนผู้รับมอบสิทธิ์สิ่งเดียวที่เกิดขึ้นคือคุณจะถูกส่งไปยังไซต์ใหม่เพื่อตรวจสอบสิทธิ์ ไซต์แรกยังคงรู้จักตัวตนของคุณว่าเป็นไซต์ใดก็ตามที่คุณมอบหมาย ดังนั้นจึงเป็นเรื่องง่ายมากที่จะเปลี่ยนผู้ให้บริการรับรองความถูกต้องของคุณ
Ilari Kajaste

2
@ Sebi ฉันลองใช้linkองค์ประกอบของคุณแล้ว แต่มันใช้ข้อมูลประจำตัว Google ของฉันเป็นตัวตนที่ฉันอ้างสิทธิ์แทนที่จะเป็น URL ที่มอบสิทธิ์ * นอกจากนี้ระบบยังถามฉันว่าบัญชีใดในบัญชีที่ลงชื่อเข้าใช้สองบัญชีที่ฉันต้องการใช้ดังนั้นดูเหมือนplus.google.comจะไม่ใช่ชื่อโฮสต์ที่ถูกต้องที่จะใช้ ฉันใช้profiles.google.comกับชื่อ gmail แทนและใช้งานได้ตามที่คาดไว้ ฉันยังไม่ได้ตรวจสอบวิธีใช้ profiles.google.com ด้วยรหัสประจำตัว Plus * SuperUser ขอให้สร้างบัญชีใหม่myname@gmail.comแทนที่จะลงชื่อเข้าใช้บัญชีที่มีอยู่ของฉันตาม URL ของ OpenID ที่ฉันให้ไว้
clacke

8

แม้จะมีสิ่งคำตอบที่ได้รับการยอมรับว่าคุณไม่จำเป็นต้องเข้าร่วม Google+ เพื่อใช้ Google @เป็นผู้แทนตั้งแต่คุณมีบัตรประจำตัวเป็นส่วนหนึ่งของอีเมลของคุณก่อนหน้านี้

ด้วยบัญชี Google ที่มีอยู่some-name@gmail.comคุณเพียงแค่ต้องมีลิงก์สองลิงก์ต่อไปนี้ในheadส่วนหน้าผู้รับมอบสิทธิ์ของคุณ:

<link rel="openid2.provider" href="https://www.google.com/accounts/o8/ud">
<link rel="openid2.local_id" href="https://profiles.google.com/some-name">

ฉันเพิ่งทำและยืนยันว่าใช้งานได้โดยไม่ต้องเข้าร่วม Google+


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.