FastComments.com Blog
๐Ÿ‡ฎ๐Ÿ‡ฑ โ–ผ
๐Ÿ‡บ๐Ÿ‡ธ
English
English
๐Ÿ‡ง๐Ÿ‡ฌ
ะ‘ัŠะปะณะฐั€ัะบะธ
Bulgarian (Bulgaria)
๐Ÿ‡จ๐Ÿ‡ณ
็ฎ€ไฝ“ไธญๆ–‡
Chinese (Simplified)
๐Ÿ‡น๐Ÿ‡ผ
็น้ซ”ไธญๆ–‡
Chinese (Traditional)
๐Ÿ‡ญ๐Ÿ‡ท
Hrvatski
Croatian (Croatia)
๐Ÿ‡ฉ๐Ÿ‡ฐ
Dansk
Danish
๐Ÿ‡ณ๐Ÿ‡ฑ
Nederlands
Dutch
๐Ÿ‡บ๐Ÿ‡ธ
English (US)
English (North America)
๐Ÿ‡จ๐Ÿ‡ฆ
Franรงais (Canada)
French (Canada)
๐Ÿ‡ซ๐Ÿ‡ท
Franรงais (France)
French (France)
๐Ÿ‡ฉ๐Ÿ‡ช
Deutsch
German (Germany)
๐Ÿ‡จ๐Ÿ‡พ
ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ (ฮšฯฯ€ฯฮฟฯ‚)
Greek (Cyprus)
๐Ÿ‡ฌ๐Ÿ‡ท
ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ
Greek (Greece)
๐Ÿ‡ฎ๐Ÿ‡ฑ
ืขื‘ืจื™ืช
Hebrew
๐Ÿ‡ฎ๐Ÿ‡น
Italiano
Italian (Italy)
๐Ÿ‡ฏ๐Ÿ‡ต
ๆ—ฅๆœฌ่ชž
Japanese (Japan)
๐Ÿ‡ฐ๐Ÿ‡ท
ํ•œ๊ตญ์–ด
Korean (Korea)
๐Ÿ‡ต๐Ÿ‡ฑ
Polski
Polish (Poland)
๐Ÿ‡ง๐Ÿ‡ท
Portuguรชs (Brasil)
Portuguese (Brazilian)
๐Ÿ‡ท๐Ÿ‡บ
ะ ัƒััะบะธะน
Russian (Russia)
๐Ÿ‡บ๐Ÿ‡ฆ
ะ ัƒััะบะธะน (ะฃะบั€ะฐะธะฝะฐ)
Russian (Ukraine)
๐Ÿ‡ง๐Ÿ‡ฆ
ะกั€ะฟัะบะธ (ะ‘ะธะฅ)
Serbian (Bosnia & Herzegovina)
๐Ÿ‡ท๐Ÿ‡ธ
Srpski (Latinica)
Serbian (Latin Serbia)
๐Ÿ‡ฒ๐Ÿ‡ช
ะกั€ะฟัะบะธ (ะฆั€ะฝะฐ ะ“ะพั€ะฐ)
Serbian (Montenegro)
๐Ÿ‡ท๐Ÿ‡ธ
ะกั€ะฟัะบะธ
Serbian (Serbia)
๐Ÿ‡ธ๐Ÿ‡ฎ
Slovenลกฤina
Slovenian (Slovenia)
๐Ÿ‡ช๐Ÿ‡ธ
Espaรฑol
Spanish (Spain)
๐Ÿ‡บ๐Ÿ‡ฆ
ะฃะบั€ะฐั—ะฝััŒะบะฐ
Ukrainian (Ukraine)
๐Ÿ‡น๐Ÿ‡ท
Tรผrkรงe
Turkish (Turkey)
follow us in feedly

Mon Apr 13 2020
...

ื”ื’ื“ืจืช SSO ืขื FastComments

ืกืงื™ืจื” ื›ืœืœื™ืช

ืžื” ื–ื” SSO?

SSO, ืื• ื›ื ื™ืกื” ื™ื—ื™ื“ื”, ื”ื™ื ืžื›ืœื•ืœ ืฉืœ conventions ื”ืžืืคืฉืจื™ื ืœืš ืื• ืœืžืฉืชืžืฉื™ื ืฉืœืš ืœื”ืฉืชืžืฉ ื‘-FastComments ืžื‘ืœื™ ืฆื•ืจืš ืœื™ืฆื•ืจ ื—ืฉื‘ื•ืŸ ื ื•ืกืฃ.

ื‘ื”ื ื—ื” ืฉืื™ื ืš ืžืืคืฉืจ ื”ืขืจื•ืช ืื ื•ื ื™ืžื™ื•ืช, ื ื“ืจืฉ ื—ืฉื‘ื•ืŸ ื›ื“ื™ ืœื”ื•ืกื™ืฃ ืชื’ื•ื‘ื•ืช ืขื FastComments. ืื ื—ื ื• ืขื•ืฉื™ื ืืช ืชื”ืœื™ืš ื”ื”ืจืฉืžื” ื”ื–ื” ืžืื•ื“ ืงืœ - ื”ืžืฉืชืžืฉ ืคืฉื•ื˜ ืžืฉืื™ืจ ืืช ื›ืชื•ื‘ืช ื”ืื™ืžื™ื™ืœ ืฉืœื• ื›ืฉื™ืฉ ืœื• ืชื’ื•ื‘ื”. ืขื ื–ืืช, ืื ื—ื ื• ืžื‘ื™ื ื™ื ืฉืืคื™ืœื• ื–ื” ื”ื•ื ื—ื™ื›ื•ืš ื ื•ืกืฃ ืฉื—ืœืง ืžื”ืืชืจื™ื ืจื•ืฆื™ื ืœื”ื™ืžื ืข ืžืžื ื•.

ืื™ืš ืื ื™ ืžืงื‘ืœ ืืช ื–ื”?

ื›ืœ ืกื•ื’ื™ ื”ื—ืฉื‘ื•ื ื•ืช ื›ืจื’ืข ืžืงื‘ืœื™ื ื’ื™ืฉื” ืœ-SSO ื›ืžื• ื’ื ืชืžื™ื›ื”. ืขื ื–ืืช, ืžืกืคืจ ื”ืžืฉืชืžืฉื™ื ื”ืžืจื‘ื™ ืœ-SSO ืฉื•ื ื” ื‘ื”ืชืื ืœื—ื‘ื™ืœืชืš.

ืžืฉืชืžืฉื™ WordPress

ืื ืืชื” ืžืฉืชืžืฉ ื‘ืชื•ืกืฃ ื”- WordPress ืฉืœื ื•, ืื– ืื™ืŸ ืฆื•ืจืš ืœื›ืชื•ื‘ ืงื•ื“! ืคืฉื•ื˜ ืขื‘ื•ืจ ืœื“ืฃ ื”ื ื™ื”ื•ืœ ืฉืœ ื”ืชื•ืกืฃ, ืœื—ืฅ ืขืœ ื”ื’ื“ืจื•ืช SSO ื•ืื– ื”ืคืขืœ.

ื–ื” ื™ื•ื‘ื™ืœ ืื•ืชืš ืœืืฉืฃ ื‘ืœื—ื™ืฆื” ืื—ืช ืฉื™ืฆื•ืจ ืืช ืžืคืชื— ื”-API ืฉืœืš, ื™ืฉืœื— ืื•ืชื• ืœื”ืชืงื ืช ื”-WordPress ืฉืœืš ื•ื™ืคืขื™ืœ ืืช ื”-SSO. ืจื™ื›ื–ื ื• ืืช ื–ื” ืœืœื—ื™ืฆื” ืื—ืช ื‘ืฉื‘ื™ืœืš.

ืฉื™ืžื• ืœื‘, ืื ืืชื” ืžืชืงื™ืŸ ืืช ื”ืชื•ืกืฃ ื‘ืคืขื ื”ืจืืฉื•ื ื”, ืชืฆื˜ืจืš ืœืขื‘ื•ืจ ืืช ืชื”ืœื™ืš ื”ื”ื’ื“ืจื” ืœืคื ื™ ืฉืชืจืื” ืืช ื“ืฃ ื”ื ื™ื”ื•ืœ ืขื ื›ืคืชื•ืจ ื”ื’ื“ืจื•ืช ื”-SSO.

ืื™ื ื˜ื’ืจืฆื™ื•ืช ืžื•ืชืืžื•ืช ืื™ืฉื™ืช

ื”-SSO ืฉืœ FastComments ืžืฉืชืžืฉ ื‘ื”ืฆืคื ืช HMAC-SHA256 ื›ืžื ื’ื ื•ืŸ ืœื™ื™ืฉื•ื SSO. ืงื•ื“ื ื ื“ื•ืŸ ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื” ื”ื›ืœืœื™ืช, ื ืกืคืง ื“ื•ื’ืžืื•ืช, ื•ืฆืขื“ ืื—ืจ ืฆืขื“ ืžืคื•ืจื˜ื™ื. ืขื ื–ืืช, ื‘ืกื•ืฃ ืžืืžืจ ื–ื” ื™ืฉ ื”ื•ืจืื•ืช ืœ-ื”ื’ื™ืจื” ืž-Disqus ื•-Commento.

ื”ื–ืจื™ืžื” ื ืจืื™ืช ื›ืš:

FastComments SSO Diagram

ืืชื” ืœื ืฆืจื™ืš ืœื›ืชื•ื‘ ืฉื•ื ื ืงื•ื“ื•ืช ืงืฆื” API ื—ื“ืฉื•ืช ืขื FastComments SSO. ืคืฉื•ื˜ ื”ืฆืคืŸ ืืช ื”ืžื™ื“ืข ืฉืœ ื”ืžืฉืชืžืฉ ื‘ืืžืฆืขื•ืช ื”ืžืคืชื— ื”ืกื•ื“ื™ ืฉืœืš ื•/pass ืืช ื”ืžื™ื“ืข ืœ-widget ื”ืชื’ื•ื‘ื”.

ืื ื—ื ื• ืžืกืคืงื™ื ื“ื•ื’ืžืื•ืช ืงื•ื“ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื‘ืฉืคื•ืช/ื”ืจืฆื•ืช ืฉื•ื ื•ืช ื›ื•ืœืœ NodeJS, Java/Spring, ื•-PHP ื‘ื’ืจืกืชื” ื”ื‘ืกื™ืกื™ืช. ืœืžืจื•ืช ืฉืื ื—ื ื• ืžืฉืชืžืฉื™ื ื‘-ExpressJS ื‘ื“ื•ื’ืžืช NodeJS ื•ื‘-Spring ื‘ื“ื•ื’ืžืช Java, ืื™ืŸ ืฆื•ืจืš ื‘ืžืกื’ืจืช/ืกืคืจื™ื•ืช ื‘ืื•ืชืŸ ื”ืจืฆื•ืช ื›ื“ื™ ืœื™ื™ืฉื ืืช FastComments SSO - ื—ื‘ื™ืœื•ืช ื”-crypto ื”ืžืงื•ืจื™ื•ืช ืขื•ื‘ื“ื•ืช.

ืืชื” ื™ื›ื•ืœ ืœืžืฆื•ื ืืช ืžืื’ืจ ื“ื•ื’ืžื•ืช ื”ืงื•ื“ ื›ืืŸ:

ื“ื•ื’ืžืื•ืช ืงื•ื“ ืœ-SSO ืฉืœ FastComments

ืงื‘ืœืช ืžืคืชื— ื”ืกื•ื“ ืฉืœ ื”-API ืฉืœืš

ื”ืžืคืชื— ื”ืกื•ื“ื™ ืฉืœืš ืœ-API ื ื™ืชืŸ ืœืงื‘ืœ ืžื“ืฃ ื–ื” ื”ื“ืฃ ื”ื–ื”. ืืชื” ื™ื›ื•ืœ ืœืžืฆื•ื ืืช ื”ื“ืฃ ื”ื–ื” ื’ื ืขืœ ื™ื“ื™ ืžืขื‘ืจ ืœื—ืฉื‘ื•ืŸ ืฉืœื™, ืœื—ื™ืฆื” ืขืœ ืœื•ื— ื”-API/SSO ื•ืื– ืœื—ืฅ ืขืœ "ืงื‘ืœืช ืžืคืชื— ืกื•ื“ื™ ืœ-API".

ืคืจืžื˜ืจื™ื ืœ-widget ื”ืชื’ื•ื‘ื”

ืชื™ืขื•ื“ API ื‘ืจืžื” ื’ื‘ื•ื”ื” ืขื‘ื•ืจ widget ื”ืชื’ื•ื‘ื” ื ื™ืชืŸ ืœืžืฆื•ื ื›ืืŸ ื•ืœื—ื™ืฆื” ืขืœ "ื”ืฆื’ ืืคืฉืจื•ื™ื•ืช ืžืชืงื“ืžื•ืช". ื—ืคืฉ SSO ื‘ื“ืฃ.

ื‘ื•ื ื ื™ื›ื ืก ืœืคืจื˜ื™ื ื ื•ืกืคื™ื ืขืœ ืžื” ื”ืคืจืžื˜ืจื™ื ื”ืืœื” ืื•ืžืจื™ื.

ื”-widget ื”ืชื’ื•ื‘ื” ืœื•ืงื— ืื•ื‘ื™ื™ืงื˜ ืชืฆื•ืจื” - ืืชื” ื›ื‘ืจ ืžืขื‘ื™ืจ ืืช ื–ื” ืื ืืชื” ืžืฉืชืžืฉ ื‘-FastComments ืœื”ืขื‘ื™ืจ ืืช ืžื–ื”ื” ื”ืœืงื•ื— ืฉืœืš (ื ืงืจื tenantId).

ื›ื“ื™ ืœืืคืฉืจ SSO, ื”ืขื‘ืจ ืื•ื‘ื™ื™ืงื˜ "sso" ื—ื“ืฉ, ืฉืžื•ื›ืจื—ื™ื ืฉื™ื”ื™ื• ืœื• ืืช ื”ืคืจืžื˜ืจื™ื ื”ื‘ืื™ื. ื”ืขืจื›ื™ื ืฆืจื™ื›ื™ื ืœื”ื™ื•ื•ืฆืจ ื‘ืฆื“ ื”ืฉืจืช.

  • userDataJSONBase64: ื ืชื•ื ื™ ื”ืžืฉืชืžืฉ ื‘ืคื•ืจืžื˜ JSON, ืืฉืจ ืžืžื•ืžืฉ ื‘-Base64.
  • verificationHash: ื”ื”ืืฉื˜ HMAC-SHA256 ืฉื ื•ืฆืจ ืž-UNIX_TIME + userDataJSONBase64.
  • timestamp: ื”ื–ืžืŸ ื”ื ื•ื›ื—ื™ ื‘-unix. ืืกื•ืจ ืœื”ื™ื•ืช ื‘ืขืชื™ื“, ืื• ื™ื•ืชืจ ืžืฉืœื•ืฉ ืฉืขื•ืช ื‘ืขื‘ืจ.
  • loginURL: ื›ืชื•ื‘ืช URL ืฉื”-widget ื”ืชื’ื•ื‘ื” ื™ื›ื•ืœ ืœื”ืฆื™ื’ ื›ื“ื™ ืœื”ื™ื›ื ืก ืœืžืฉืชืžืฉ.
  • logoutURL: ื›ืชื•ื‘ืช URL ืฉื”-widget ื”ืชื’ื•ื‘ื” ื™ื›ื•ืœ ืœื”ืฆื™ื’ ื›ื“ื™ ืœืฆืืช ืืช ื”ืžืฉืชืžืฉ.
  • loginCallback: ื›ืืฉืจ ื ื™ืชื ื” ื‘ืžืงื•ื ื›ืชื•ื‘ืช ื”-URL ืฉืœ ื”ื”ืชื—ื‘ืจื•ืช, ืคื•ื ืงืฆื™ื” ืฉื”-widget ื”ืชื’ื•ื‘ื” ื™ื‘ืฆืข ื›ืืฉืจ ื™ืœื—ืฆื• ืขืœ ื›ืคืชื•ืจ ื”ื”ืชื—ื‘ืจื•ืช.
  • logoutCallback: ื›ืืฉืจ ื ื™ืชื ื” ื‘ืžืงื•ื ื›ืชื•ื‘ืช ื”-URL ืฉืœ ื”ื™ืฆื™ืื”, ืคื•ื ืงืฆื™ื” ืฉื”-widget ื”ืชื’ื•ื‘ื” ื™ื‘ืฆืข ื›ืืฉืจ ื™ืœื—ืฆื• ืขืœ ื›ืคืชื•ืจ ื”ื™ืฆื™ืื”.

ืื•ื‘ื™ื™ืงื˜ ื”ืžืฉืชืžืฉ

ืื•ื‘ื™ื™ืงื˜ ื”ืžืฉืชืžืฉ ืžื›ื™ืœ ืืช ื”ืกื›ื™ืžื” ื”ื‘ืื”:

  • id (ืžื—ืจื•ื–ืช, ื ื“ืจืฉ) (1k ืชื•ื•ื™ื ืžืงืกื™ืžื•ื)
  • email (ืžื—ืจื•ื–ืช, ื ื“ืจืฉ) (1k ืชื•ื•ื™ื ืžืงืกื™ืžื•ื). ื”ืขืจื”: ื—ื™ื™ื‘ ืœื”ื™ื•ืช ื™ื™ื—ื•ื“ื™.
  • username (ืžื—ืจื•ื–ืช, ื ื“ืจืฉ) (1k ืชื•ื•ื™ื ืžืงืกื™ืžื•ื). ื”ืขืจื”: ืฉื ื”ืžืฉืชืžืฉ ืœื ื™ื›ื•ืœ ืœื”ื™ื•ืช ื“ื•ื"ืœ. ืœื ื—ื™ื™ื‘ ืœื”ื™ื•ืช ื™ื™ื—ื•ื“ื™.
  • avatar (ืžื—ืจื•ื–ืช, ืื•ืคืฆื™ื•ื ืœื™ืช) (3k ืชื•ื•ื™ื ืžืงืกื™ืžื•ื)
  • optedInNotifications (ื‘ื•ืœื™ืื ื™, ืื•ืคืฆื™ื•ื ืœื™)
  • displayLabel (ืžื—ืจื•ื–ืช, ืื•ืคืฆื™ื•ื ืœื™ืช, 100 ืชื•ื•ื™ื ืžืงืกื™ืžื•ื). ืชื•ื•ื™ืช ื–ื• ืชื•ืฆื’ ืœื™ื“ ืฉืžื•.
  • websiteUrl (ืžื—ืจื•ื–ืช, ืื•ืคืฆื™ื•ื ืœื™ืช, 2000 ืชื•ื•ื™ื ืžืงืกื™ืžื•ื). ื”ืฉื ืฉืœ ื”ืžืฉืชืžืฉ ื™ืงืฉืจ ืœื–ื”.

ื”ื•ื“ืขื•ืช

ื›ื“ื™ ืœืืคืฉืจ ืื• ืœื‘ื˜ืœ ื”ื•ื“ืขื•ืช, ืงื‘ืข ืืช ื”ืขืจืš ืฉืœ optedInNotifications ืœ-true ืื• false ื‘ื”ืชืืžื”. ื‘ืคืขื ื”ืจืืฉื•ื ื” ืฉืžืฉืชืžืฉ ื˜ื•ืขืŸ ืืช ื”ื“ืฃ ืขื ืขืจืš ื–ื” ื‘ื ืชื•ื ื™ ื”-SSO, ื”ื’ื“ืจื•ืช ื”ื”ื•ื“ืขื•ืช ืฉืœื• ื™ืชืขื“ื›ื ื•.

ืžืฉืชืžืฉื™ื VIP ื•ืชื•ื•ื™ื•ืช ืžื™ื•ื—ื“ื•ืช

ืืชื” ื™ื›ื•ืœ ืœื”ืฆื™ื’ ืชื•ื•ื™ืช ืžื™ื•ื—ื“ืช ืœื™ื“ ืฉืžื• ืฉืœ ื”ืžืฉืชืžืฉ ืขืœ ื™ื“ื™ ืฉื™ืžื•ืฉ ื‘ืฉื“ื” ื”-"displayLabel" ื”ืื•ืคืฆื™ื•ื ืœื™.

ืžืฉืชืžืฉื™ื ืœื ืžืื•ืžืชื™ื

ื›ื“ื™ ืœื™ื™ืฆื’ ืžืฉืชืžืฉ ืœื ืžืื•ืžืช, ืคืฉื•ื˜ ืืœ ืชืžืœื ืืช userDataJSONBase64, verificationHash, ืื• timestamp. ืกืคืง loginURL.

ื“ื•ื’ืžืื•ืช ื™ืฉื™ืจื•ืช ืœืกื™ื“ื•ืจ ื•ื”ืืฉื˜ืช ื ืชื•ื ื™ ืžืฉืชืžืฉ

ืคืจื˜ื™ื ื ื•ืกืคื™ื ื›ื“ื•ื’ืžื•ืช ื›ืืŸ (js), ื›ืืŸ (java) ื• ื›ืืŸ (php).

ื”ืžืจื” ืž-Disqus SSO

ื”ื”ื‘ื“ืœื™ื ื”ื’ื“ื•ืœื™ื ื‘ื™ื•ืชืจ ื‘ื™ืŸ Disqus ืœ-SSO ืฉืœ FastComments ื”ื ืฉ-Disqus ืžืฉืชืžืฉืช ื‘-SHA1 ืœื”ืฆืคื ื” ื‘ื–ืžืŸ ืฉืื ื• ืžืฉืชืžืฉื™ื ื‘-SHA256. ื–ื” ืื•ืžืจ ืฉื”ื”ื’ื™ืจื” ืž-Disqus ื”ื™ื ืงืœื” - ืคืฉื•ื˜ ืฉื ื” ืืช ืืœื’ื•ืจื™ืชื ื”ื”ืืฉื˜ ืžืฉ SHA1 ืœ-SHA256 ื•ืขื•ื“ื›ืŸ ืืช ืฉืžื•ืช ื”ืžืืคื™ื™ื ื™ื ืฉืขื•ื‘ืจื™ื ืœ-UI.

ื”ืžืจื” ืž-Commento SSO

Commento ืžืฉืชืžืฉืช ื‘ื’ื™ืฉื” ืฉื•ื ื” ืœื—ืœื•ื˜ื™ืŸ ืœ-SSO - ื”ื ื“ื•ืจืฉื™ื ืžืžืš ืฉืชื”ื™ื” ื ืงื•ื“ืช ืงืฆื” ืฉืชืคืขื™ืœื• ื›ื“ื™ ืœืืžืช ืืช ื”ืžืฉืชืžืฉ. FastComments ื”ื™ื ื”ื”ืคืš - ืจืง ื™ืฉ ืœืงื•ื“ื“ ื•ืœื”ืืฉื˜ ืืช ื”ืžื™ื“ืข ืฉืœ ื”ืžืฉืชืžืฉ ื‘ืืžืฆืขื•ืช ื”ืžืคืชื— ื”ืกื•ื“ื™ ืฉืœืš ื•ืœื—ื•ืฉ ืื•ืชื• ื”ืœืื”.

ืื ื—ื ื• ืžื‘ื™ื ื™ื ืฉื›ืœ ืื™ื ื˜ื’ืจืฆื™ื” ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืชื”ืœื™ืš ืžืกื•ื‘ืš ื•ื›ื•ืื‘. ืืœ ืชื”ืกืก ืœืคื ื•ืช ืœื ืฆื™ื’ ืฉืœืš ืื• ืœื”ืฉืชืžืฉ ื‘ื“ืฃ ื”ืชืžื™ื›ื”.