[{"data":1,"prerenderedAt":1865},["ShallowReactive",2],{"docs-navigation:tr":3,"\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fintegrations\u002Fsingle-sign-on":161,"\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fintegrations\u002Fsingle-sign-on:surround":1860},[4],{"title":5,"path":6,"stem":7,"children":8,"page":41},"Docs","\u002Fdocs","docs",[9],{"title":10,"path":11,"stem":12,"children":13,"page":41},"Tr","\u002Fdocs\u002Ftr","docs\u002Ftr",[14,106],{"title":15,"icon":16,"path":17,"stem":18,"children":19},"Site sahipleri","i-ph:storefront-duotone","\u002Fdocs\u002Ftr\u002Fsite-owners","docs\u002Ftr\u002F1.site-owners\u002Findex",[20,23,42,64,86,96],{"title":21,"path":17,"stem":18,"icon":22},"Giriş","i-ph:house-line-duotone",{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":41},"Başlarken","i-ph:rocket-launch-duotone","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fgetting-started","docs\u002Ftr\u002F1.site-owners\u002F1.getting-started",[29,33,37],{"title":30,"path":31,"stem":32},"Hızlı başlangıç","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fgetting-started\u002Fquick-start","docs\u002Ftr\u002F1.site-owners\u002F1.getting-started\u002F1.quick-start",{"title":34,"path":35,"stem":36},"Kurulum","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fgetting-started\u002Finstallation","docs\u002Ftr\u002F1.site-owners\u002F1.getting-started\u002F2.installation",{"title":38,"path":39,"stem":40},"Görünüm ve dil","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fgetting-started\u002Fappearance","docs\u002Ftr\u002F1.site-owners\u002F1.getting-started\u002F3.appearance",false,{"title":43,"icon":44,"path":45,"stem":46,"children":47,"page":41},"Moderasyon","i-ph:shield-check-duotone","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fmoderation","docs\u002Ftr\u002F1.site-owners\u002F2.moderation",[48,52,56,60],{"title":49,"path":50,"stem":51},"Moderasyon nasıl çalışır","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fmoderation\u002Fhow-it-works","docs\u002Ftr\u002F1.site-owners\u002F2.moderation\u002F1.how-it-works",{"title":53,"path":54,"stem":55},"Yorumları moderasyondan geçirmek","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fmoderation\u002Fmoderating-comments","docs\u002Ftr\u002F1.site-owners\u002F2.moderation\u002F2.moderating-comments",{"title":57,"path":58,"stem":59},"Kurallar ve yaşam döngüsü","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fmoderation\u002Frules-and-lifecycle","docs\u002Ftr\u002F1.site-owners\u002F2.moderation\u002F3.rules-and-lifecycle",{"title":61,"path":62,"stem":63},"Yorumcuları yasaklamak","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fmoderation\u002Fbanning-commenters","docs\u002Ftr\u002F1.site-owners\u002F2.moderation\u002F4.banning-commenters",{"title":65,"icon":66,"path":67,"stem":68,"children":69,"page":41},"Widget'lar ve ekip","i-ph:app-window-duotone","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fwidgets","docs\u002Ftr\u002F1.site-owners\u002F3.widgets",[70,74,78,82],{"title":71,"path":72,"stem":73},"Widget'ları yönetmek","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fwidgets\u002Fmanaging-widgets","docs\u002Ftr\u002F1.site-owners\u002F3.widgets\u002F1.managing-widgets",{"title":75,"path":76,"stem":77},"Ekip ve roller","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fwidgets\u002Fteam-and-roles","docs\u002Ftr\u002F1.site-owners\u002F3.widgets\u002F2.team-and-roles",{"title":79,"path":80,"stem":81},"Tepkiler ve emojiler","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fwidgets\u002Freactions-and-emoji","docs\u002Ftr\u002F1.site-owners\u002F3.widgets\u002F3.reactions-and-emoji",{"title":83,"path":84,"stem":85},"Rozetler","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fwidgets\u002Fbadges","docs\u002Ftr\u002F1.site-owners\u002F3.widgets\u002F4.badges",{"title":87,"icon":88,"path":89,"stem":90,"children":91,"page":41},"Entegrasyonlar","i-ph:plugs-connected-duotone","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fintegrations","docs\u002Ftr\u002F1.site-owners\u002F4.integrations",[92],{"title":93,"path":94,"stem":95},"Tek oturum açma (SSO)","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fintegrations\u002Fsingle-sign-on","docs\u002Ftr\u002F1.site-owners\u002F4.integrations\u002F1.single-sign-on",{"title":97,"icon":98,"path":99,"stem":100,"children":101,"page":41},"Faturalandırma","i-ph:crown-duotone","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fbilling","docs\u002Ftr\u002F1.site-owners\u002F5.billing",[102],{"title":103,"path":104,"stem":105},"Planlar ve faturalandırma","\u002Fdocs\u002Ftr\u002Fsite-owners\u002Fbilling\u002Fplans-and-billing","docs\u002Ftr\u002F1.site-owners\u002F5.billing\u002F1.plans-and-billing",{"title":107,"icon":108,"path":109,"stem":110,"children":111},"Okuyucular","i-ph:chat-circle-text-duotone","\u002Fdocs\u002Ftr\u002Freaders","docs\u002Ftr\u002F2.readers\u002Findex",[112,113,125,143],{"title":21,"path":109,"stem":110,"icon":22},{"title":24,"icon":25,"path":114,"stem":115,"children":116,"page":41},"\u002Fdocs\u002Ftr\u002Freaders\u002Fgetting-started","docs\u002Ftr\u002F2.readers\u002F1.getting-started",[117,121],{"title":118,"path":119,"stem":120},"Giriş yapmak","\u002Fdocs\u002Ftr\u002Freaders\u002Fgetting-started\u002Fsigning-in","docs\u002Ftr\u002F2.readers\u002F1.getting-started\u002F1.signing-in",{"title":122,"path":123,"stem":124},"Profiliniz","\u002Fdocs\u002Ftr\u002Freaders\u002Fgetting-started\u002Fyour-profile","docs\u002Ftr\u002F2.readers\u002F1.getting-started\u002F2.your-profile",{"title":126,"icon":127,"path":128,"stem":129,"children":130,"page":41},"Yorum yapmak","i-ph:chats-circle-duotone","\u002Fdocs\u002Ftr\u002Freaders\u002Fcommenting","docs\u002Ftr\u002F2.readers\u002F2.commenting",[131,135,139],{"title":132,"path":133,"stem":134},"Yorum yazmak","\u002Fdocs\u002Ftr\u002Freaders\u002Fcommenting\u002Fwriting-comments","docs\u002Ftr\u002F2.readers\u002F2.commenting\u002F1.writing-comments",{"title":136,"path":137,"stem":138},"Okumak ve tepki vermek","\u002Fdocs\u002Ftr\u002Freaders\u002Fcommenting\u002Freading-and-reacting","docs\u002Ftr\u002F2.readers\u002F2.commenting\u002F2.reading-and-reacting",{"title":140,"path":141,"stem":142},"Bir yorum neden bekler ya da kaybolur","\u002Fdocs\u002Ftr\u002Freaders\u002Fcommenting\u002Fwhen-comments-wait","docs\u002Ftr\u002F2.readers\u002F2.commenting\u002F3.when-comments-wait",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":41},"Hesabınız","i-ph:user-circle-duotone","\u002Fdocs\u002Ftr\u002Freaders\u002Faccount","docs\u002Ftr\u002F2.readers\u002F3.account",[149,153,157],{"title":150,"path":151,"stem":152},"Bildirimler","\u002Fdocs\u002Ftr\u002Freaders\u002Faccount\u002Fnotifications","docs\u002Ftr\u002F2.readers\u002F3.account\u002F1.notifications",{"title":154,"path":155,"stem":156},"Yorumlarınız ve beğenileriniz","\u002Fdocs\u002Ftr\u002Freaders\u002Faccount\u002Fyour-activity","docs\u002Ftr\u002F2.readers\u002F3.account\u002F2.your-activity",{"title":158,"path":159,"stem":160},"Bağlı siteler","\u002Fdocs\u002Ftr\u002Freaders\u002Faccount\u002Flinked-sites","docs\u002Ftr\u002F2.readers\u002F3.account\u002F3.linked-sites",{"id":162,"title":93,"body":163,"description":1855,"extension":1856,"meta":1857,"navigation":460,"path":94,"seo":1858,"stem":95,"__hash__":1859},"docs_tr\u002Fdocs\u002Ftr\u002F1.site-owners\u002F4.integrations\u002F1.single-sign-on.md",{"type":164,"value":165,"toc":1842},"minimark",[166,171,194,198,202,208,271,275,282,402,408,1374,1378,1381,1496,1503,1506,1713,1725,1728,1732,1735,1750,1753,1757,1772,1776,1838],[167,168,170],"h2",{"id":169},"nasıl-çalışır","Nasıl çalışır",[172,173,174,183,191],"ol",{},[175,176,177,178,182],"li",{},"Bir okuyucu sitenizde oturum açıkken ",[179,180,181],"strong",{},"sunucunuz",", onun kim olduğunu söyleyen kısa ömürlü bir token imzalar.",[175,184,185,186,190],{},"Sayfanız bu token'ı ",[187,188,189],"code",{},"sso-token"," özelliğiyle yorum widget'ına verir.",[175,192,193],{},"Crowment imzayı doğrular ve okuyucuyu yorumlarda o kimlikle oturum açmış hâle getirir.",[195,196,197],"p",{},"Token yalnızca sunucunuzun ve Crowment'in bildiği bir anahtarla imzalanır; böylece kimse okuyucuları başkası olarak oturum açtıramaz. Tek oturum açma her planda kullanılabilir.",[167,199,201],{"id":200},"_1-açın","1. Açın",[195,203,204,207],{},[179,205,206],{},"Site Console → widget'ınız → Single Sign-On"," sayfasını açın. Ayarları sahipler ve yöneticiler değiştirebilir.",[209,210,212,217,228,232,253,257],"steps",{"level":211},"3",[213,214,216],"h3",{"id":215},"i̇mzalama-anahtarını-oluşturun","İmzalama anahtarını oluşturun",[195,218,219,220,223,224,227],{},"Bunu yalnızca widget sahibi yapabilir. Anahtar ",[179,221,222],{},"yalnızca bir kez"," gösterilir: sunucunuzun ortam değişkenlerinde saklayın, örneğin ",[187,225,226],{},"CROWMENT_SSO_SECRET"," olarak. Asla tarayıcı koduna, bir uygulama paketine ya da herkese açık bir depoya koymayın.",[213,229,231],{"id":230},"bir-mod-seçin","Bir mod seçin",[233,234,235,241,247],"ul",{},[175,236,237,240],{},[179,238,239],{},"Off",": okuyucular yalnızca Crowment ile oturum açar.",[175,242,243,246],{},[179,244,245],{},"Optional",": sitenizde oturum açmış okuyucular otomatik olarak oturum açar; Crowment ile giriş de kullanılabilir kalır.",[175,248,249,252],{},[179,250,251],{},"Required",": yalnızca sitenizin hesapları oturum açabilir. Mevcut yorumlar ve oturumlar kalır.",[213,254,256],{"id":255},"giriş-ve-çıkış-sayfalarınızı-belirleyin-isteğe-bağlı","Giriş ve çıkış sayfalarınızı belirleyin (isteğe bağlı)",[195,258,259,260,263,264,267,268,270],{},"İkisi de widget'ınızın alan adında olmalıdır. Widget'ın giriş düğmesi okuyucuları, geldikleri sayfayı tutan bir ",[187,261,262],{},"return_to"," parametresiyle ",[179,265,266],{},"giriş sayfanıza"," gönderir. Yönlendirmeden önce ",[187,269,262],{},"'nun kendi sitenizi gösterdiğini kontrol edin.",[167,272,274],{"id":273},"_2-sunucunuzda-bir-token-imzalayın","2. Sunucunuzda bir token imzalayın",[195,276,277,278,281],{},"Okuyucunun oturum açık olduğu her sayfa görüntülemesinde ",[179,279,280],{},"HS256"," ve anahtarınızla bir JWT imzalayın.",[283,284,285,301],"table",{},[286,287,288],"thead",{},[289,290,291,295,298],"tr",{},[292,293,294],"th",{},"Claim",[292,296,297],{},"Zorunlu",[292,299,300],{},"Değer",[302,303,304,322,334,350,374,386],"tbody",{},[289,305,306,312,315],{},[307,308,309],"td",{},[187,310,311],{},"sub",[307,313,314],{},"evet",[307,316,317,318,321],{},"Okuyucunun sitenizdeki kullanıcı kimliği, ",[179,319,320],{},"string"," olarak, en fazla 128 karakter. Hiç değişmeyen ve asla yeniden kullanılmayan bir kimlik seçin; e-posta adresi iyi bir seçim değildir.",[289,323,324,329,331],{},[307,325,326],{},[187,327,328],{},"name",[307,330,314],{},[307,332,333],{},"Yorumlarının yanında gösterilen ad, en fazla 100 karakter. HTML temizlenir.",[289,335,336,341,344],{},[307,337,338],{},[187,339,340],{},"avatar",[307,342,343],{},"hayır",[307,345,346,349],{},[187,347,348],{},"https:\u002F\u002F"," ile başlayan bir görsel URL'si. Diğer her şey yok sayılır.",[289,351,352,357,359],{},[307,353,354],{},[187,355,356],{},"badges",[307,358,343],{},[307,360,361,362,365,366,369,370,373],{},"Okurun sahip olduğu rozetlerin anahtarları, ör. ",[187,363,364],{},"[\"vip\"]","; ",[179,367,368],{},"Badges"," sayfasındaki SSO anahtarlarıyla eşleşir. Gönderilmezse rozetleri değişmez; ",[187,371,372],{},"[]"," bu yolla verilenleri kaldırır. Panelden verilen rozetler kalır.",[289,375,376,381,383],{},[307,377,378],{},[187,379,380],{},"aud",[307,382,314],{},[307,384,385],{},"Widget'ınızın uygulama anahtarı, embed kodundakiyle birebir aynı.",[289,387,388,397,399],{},[307,389,390,393,394],{},[187,391,392],{},"iat",", ",[187,395,396],{},"exp",[307,398,314],{},[307,400,401],{},"Saniye cinsinden oluşturulma ve bitiş zamanı. Token en fazla bir saat yaşayabilir. Bir dakikalık saat farkı tolere edilir.",[195,403,404,407],{},[187,405,406],{},"email"," claim'i gerekmez ve kullanılmaz: Crowment hesapları asla e-postaya göre eşleştirmez.",[409,410,411,613,854,1124],"code-group",{},[412,413,419],"pre",{"className":414,"code":415,"filename":416,"language":417,"meta":418,"style":418},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F npm install jsonwebtoken\nimport jwt from 'jsonwebtoken'\n\nconst ssoToken = jwt.sign(\n  { sub: String(user.id), name: user.displayName, avatar: user.avatarUrl },\n  process.env.CROWMENT_SSO_SECRET,\n  { algorithm: 'HS256', audience: CROWMENT_APP_KEY, expiresIn: '1h' },\n)\n","Node.js","js","",[187,420,421,430,455,462,488,545,563,607],{"__ignoreMap":418},[422,423,426],"span",{"class":424,"line":425},"line",1,[422,427,429],{"class":428},"sHwdD","\u002F\u002F npm install jsonwebtoken\n",[422,431,433,437,441,444,448,452],{"class":424,"line":432},2,[422,434,436],{"class":435},"s7zQu","import",[422,438,440],{"class":439},"sTEyZ"," jwt ",[422,442,443],{"class":435},"from",[422,445,447],{"class":446},"sMK4o"," '",[422,449,451],{"class":450},"sfazB","jsonwebtoken",[422,453,454],{"class":446},"'\n",[422,456,458],{"class":424,"line":457},3,[422,459,461],{"emptyLinePlaceholder":460},true,"\n",[422,463,465,469,472,475,478,481,485],{"class":424,"line":464},4,[422,466,468],{"class":467},"spNyl","const",[422,470,471],{"class":439}," ssoToken ",[422,473,474],{"class":446},"=",[422,476,477],{"class":439}," jwt",[422,479,480],{"class":446},".",[422,482,484],{"class":483},"s2Zo4","sign",[422,486,487],{"class":439},"(\n",[422,489,491,494,498,501,504,507,509,512,515,518,520,523,525,528,530,533,535,537,539,542],{"class":424,"line":490},5,[422,492,493],{"class":446},"  {",[422,495,497],{"class":496},"swJcz"," sub",[422,499,500],{"class":446},":",[422,502,503],{"class":483}," String",[422,505,506],{"class":439},"(user",[422,508,480],{"class":446},[422,510,511],{"class":439},"id)",[422,513,514],{"class":446},",",[422,516,517],{"class":496}," name",[422,519,500],{"class":446},[422,521,522],{"class":439}," user",[422,524,480],{"class":446},[422,526,527],{"class":439},"displayName",[422,529,514],{"class":446},[422,531,532],{"class":496}," avatar",[422,534,500],{"class":446},[422,536,522],{"class":439},[422,538,480],{"class":446},[422,540,541],{"class":439},"avatarUrl ",[422,543,544],{"class":446},"},\n",[422,546,548,551,553,556,558,560],{"class":424,"line":547},6,[422,549,550],{"class":439},"  process",[422,552,480],{"class":446},[422,554,555],{"class":439},"env",[422,557,480],{"class":446},[422,559,226],{"class":439},[422,561,562],{"class":446},",\n",[422,564,566,568,571,573,575,577,580,582,585,587,590,592,595,597,599,602,604],{"class":424,"line":565},7,[422,567,493],{"class":446},[422,569,570],{"class":496}," algorithm",[422,572,500],{"class":446},[422,574,447],{"class":446},[422,576,280],{"class":450},[422,578,579],{"class":446},"'",[422,581,514],{"class":446},[422,583,584],{"class":496}," audience",[422,586,500],{"class":446},[422,588,589],{"class":439}," CROWMENT_APP_KEY",[422,591,514],{"class":446},[422,593,594],{"class":496}," expiresIn",[422,596,500],{"class":446},[422,598,447],{"class":446},[422,600,601],{"class":450},"1h",[422,603,579],{"class":446},[422,605,606],{"class":446}," },\n",[422,608,610],{"class":424,"line":609},8,[422,611,612],{"class":439},")\n",[412,614,619],{"className":615,"code":616,"filename":617,"language":618,"meta":418,"style":418},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F composer require firebase\u002Fphp-jwt\nuse Firebase\\JWT\\JWT;\n\n$now = time();\n$ssoToken = JWT::encode([\n    'sub'    => (string) $user->id,\n    'name'   => $user->display_name,\n    'avatar' => $user->avatar_url,\n    'aud'    => CROWMENT_APP_KEY,\n    'iat'    => $now,\n    'exp'    => $now + 3600,\n], getenv('CROWMENT_SSO_SECRET'), 'HS256');\n","PHP","php",[187,620,621,626,648,652,668,690,724,746,768,783,801,824],{"__ignoreMap":418},[422,622,623],{"class":424,"line":425},[422,624,625],{"class":428},"\u002F\u002F composer require firebase\u002Fphp-jwt\n",[422,627,628,632,635,638,641,643,645],{"class":424,"line":432},[422,629,631],{"class":630},"sbssI","use",[422,633,634],{"class":439}," Firebase",[422,636,637],{"class":446},"\\",[422,639,640],{"class":439},"JWT",[422,642,637],{"class":446},[422,644,640],{"class":439},[422,646,647],{"class":446},";\n",[422,649,650],{"class":424,"line":457},[422,651,461],{"emptyLinePlaceholder":460},[422,653,654,657,660,662,665],{"class":424,"line":464},[422,655,656],{"class":446},"$",[422,658,659],{"class":439},"now ",[422,661,474],{"class":446},[422,663,664],{"class":483}," time",[422,666,667],{"class":446},"();\n",[422,669,670,672,675,677,681,684,687],{"class":424,"line":490},[422,671,656],{"class":446},[422,673,674],{"class":439},"ssoToken ",[422,676,474],{"class":446},[422,678,680],{"class":679},"sBMFI"," JWT",[422,682,683],{"class":446},"::",[422,685,686],{"class":483},"encode",[422,688,689],{"class":446},"([\n",[422,691,692,695,697,699,702,705,707,710,713,716,719,722],{"class":424,"line":547},[422,693,694],{"class":446},"    '",[422,696,311],{"class":450},[422,698,579],{"class":446},[422,700,701],{"class":446},"    =>",[422,703,704],{"class":446}," (",[422,706,320],{"class":467},[422,708,709],{"class":446},")",[422,711,712],{"class":446}," $",[422,714,715],{"class":439},"user",[422,717,718],{"class":446},"->",[422,720,721],{"class":439},"id",[422,723,562],{"class":446},[422,725,726,728,730,732,735,737,739,741,744],{"class":424,"line":565},[422,727,694],{"class":446},[422,729,328],{"class":450},[422,731,579],{"class":446},[422,733,734],{"class":446},"   =>",[422,736,712],{"class":446},[422,738,715],{"class":439},[422,740,718],{"class":446},[422,742,743],{"class":439},"display_name",[422,745,562],{"class":446},[422,747,748,750,752,754,757,759,761,763,766],{"class":424,"line":609},[422,749,694],{"class":446},[422,751,340],{"class":450},[422,753,579],{"class":446},[422,755,756],{"class":446}," =>",[422,758,712],{"class":446},[422,760,715],{"class":439},[422,762,718],{"class":446},[422,764,765],{"class":439},"avatar_url",[422,767,562],{"class":446},[422,769,771,773,775,777,779,781],{"class":424,"line":770},9,[422,772,694],{"class":446},[422,774,380],{"class":450},[422,776,579],{"class":446},[422,778,701],{"class":446},[422,780,589],{"class":439},[422,782,562],{"class":446},[422,784,786,788,790,792,794,796,799],{"class":424,"line":785},10,[422,787,694],{"class":446},[422,789,392],{"class":450},[422,791,579],{"class":446},[422,793,701],{"class":446},[422,795,712],{"class":446},[422,797,798],{"class":439},"now",[422,800,562],{"class":446},[422,802,804,806,808,810,812,814,816,819,822],{"class":424,"line":803},11,[422,805,694],{"class":446},[422,807,396],{"class":450},[422,809,579],{"class":446},[422,811,701],{"class":446},[422,813,712],{"class":446},[422,815,659],{"class":439},[422,817,818],{"class":446},"+",[422,820,821],{"class":630}," 3600",[422,823,562],{"class":446},[422,825,827,830,833,836,838,840,842,845,847,849,851],{"class":424,"line":826},12,[422,828,829],{"class":446},"],",[422,831,832],{"class":483}," getenv",[422,834,835],{"class":446},"(",[422,837,579],{"class":446},[422,839,226],{"class":450},[422,841,579],{"class":446},[422,843,844],{"class":446},"),",[422,846,447],{"class":446},[422,848,280],{"class":450},[422,850,579],{"class":446},[422,852,853],{"class":446},");\n",[412,855,860],{"className":856,"code":857,"filename":858,"language":859,"meta":418,"style":418},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# pip install pyjwt\nimport os\nfrom datetime import datetime, timedelta, timezone\nimport jwt\n\nnow = datetime.now(timezone.utc)\nsso_token = jwt.encode(\n    {\n        \"sub\": str(user.id),\n        \"name\": user.display_name,\n        \"avatar\": user.avatar_url,\n        \"aud\": CROWMENT_APP_KEY,\n        \"iat\": now,\n        \"exp\": now + timedelta(hours=1),\n    },\n    os.environ[\"CROWMENT_SSO_SECRET\"],\n    algorithm=\"HS256\",\n)\n","Python","python",[187,861,862,867,874,896,903,907,931,946,951,977,995,1013,1027,1043,1074,1080,1103,1119],{"__ignoreMap":418},[422,863,864],{"class":424,"line":425},[422,865,866],{"class":428},"# pip install pyjwt\n",[422,868,869,871],{"class":424,"line":432},[422,870,436],{"class":435},[422,872,873],{"class":439}," os\n",[422,875,876,878,881,883,886,888,891,893],{"class":424,"line":457},[422,877,443],{"class":435},[422,879,880],{"class":439}," datetime ",[422,882,436],{"class":435},[422,884,885],{"class":439}," datetime",[422,887,514],{"class":446},[422,889,890],{"class":439}," timedelta",[422,892,514],{"class":446},[422,894,895],{"class":439}," timezone\n",[422,897,898,900],{"class":424,"line":464},[422,899,436],{"class":435},[422,901,902],{"class":439}," jwt\n",[422,904,905],{"class":424,"line":490},[422,906,461],{"emptyLinePlaceholder":460},[422,908,909,911,913,915,917,919,921,924,926,929],{"class":424,"line":547},[422,910,659],{"class":439},[422,912,474],{"class":446},[422,914,885],{"class":439},[422,916,480],{"class":446},[422,918,798],{"class":483},[422,920,835],{"class":446},[422,922,923],{"class":483},"timezone",[422,925,480],{"class":446},[422,927,928],{"class":496},"utc",[422,930,612],{"class":446},[422,932,933,936,938,940,942,944],{"class":424,"line":565},[422,934,935],{"class":439},"sso_token ",[422,937,474],{"class":446},[422,939,477],{"class":439},[422,941,480],{"class":446},[422,943,686],{"class":483},[422,945,487],{"class":446},[422,947,948],{"class":424,"line":609},[422,949,950],{"class":446},"    {\n",[422,952,953,956,958,961,963,966,968,970,972,974],{"class":424,"line":770},[422,954,955],{"class":446},"        \"",[422,957,311],{"class":450},[422,959,960],{"class":446},"\"",[422,962,500],{"class":446},[422,964,965],{"class":679}," str",[422,967,835],{"class":446},[422,969,715],{"class":483},[422,971,480],{"class":446},[422,973,721],{"class":496},[422,975,976],{"class":446},"),\n",[422,978,979,981,983,985,987,989,991,993],{"class":424,"line":785},[422,980,955],{"class":446},[422,982,328],{"class":450},[422,984,960],{"class":446},[422,986,500],{"class":446},[422,988,522],{"class":483},[422,990,480],{"class":446},[422,992,743],{"class":496},[422,994,562],{"class":446},[422,996,997,999,1001,1003,1005,1007,1009,1011],{"class":424,"line":803},[422,998,955],{"class":446},[422,1000,340],{"class":450},[422,1002,960],{"class":446},[422,1004,500],{"class":446},[422,1006,522],{"class":483},[422,1008,480],{"class":446},[422,1010,765],{"class":496},[422,1012,562],{"class":446},[422,1014,1015,1017,1019,1021,1023,1025],{"class":424,"line":826},[422,1016,955],{"class":446},[422,1018,380],{"class":450},[422,1020,960],{"class":446},[422,1022,500],{"class":446},[422,1024,589],{"class":483},[422,1026,562],{"class":446},[422,1028,1030,1032,1034,1036,1038,1041],{"class":424,"line":1029},13,[422,1031,955],{"class":446},[422,1033,392],{"class":450},[422,1035,960],{"class":446},[422,1037,500],{"class":446},[422,1039,1040],{"class":483}," now",[422,1042,562],{"class":446},[422,1044,1046,1048,1050,1052,1054,1057,1059,1061,1063,1067,1069,1072],{"class":424,"line":1045},14,[422,1047,955],{"class":446},[422,1049,396],{"class":450},[422,1051,960],{"class":446},[422,1053,500],{"class":446},[422,1055,1056],{"class":483}," now ",[422,1058,818],{"class":446},[422,1060,890],{"class":483},[422,1062,835],{"class":446},[422,1064,1066],{"class":1065},"sHdIc","hours",[422,1068,474],{"class":446},[422,1070,1071],{"class":630},"1",[422,1073,976],{"class":446},[422,1075,1077],{"class":424,"line":1076},15,[422,1078,1079],{"class":446},"    },\n",[422,1081,1083,1086,1088,1091,1094,1096,1098,1100],{"class":424,"line":1082},16,[422,1084,1085],{"class":483},"    os",[422,1087,480],{"class":446},[422,1089,1090],{"class":496},"environ",[422,1092,1093],{"class":446},"[",[422,1095,960],{"class":446},[422,1097,226],{"class":450},[422,1099,960],{"class":446},[422,1101,1102],{"class":446},"],\n",[422,1104,1106,1109,1111,1113,1115,1117],{"class":424,"line":1105},17,[422,1107,1108],{"class":1065},"    algorithm",[422,1110,474],{"class":446},[422,1112,960],{"class":446},[422,1114,280],{"class":450},[422,1116,960],{"class":446},[422,1118,562],{"class":446},[422,1120,1122],{"class":424,"line":1121},18,[422,1123,612],{"class":446},[412,1125,1130],{"className":1126,"code":1127,"filename":1128,"language":1129,"meta":418,"style":418},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F go get github.com\u002Fgolang-jwt\u002Fjwt\u002Fv5\nnow := time.Now()\nssoToken, err := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{\n    \"sub\":    strconv.FormatInt(user.ID, 10),\n    \"name\":   user.DisplayName,\n    \"avatar\": user.AvatarURL,\n    \"aud\":    crowmentAppKey,\n    \"iat\":    now.Unix(),\n    \"exp\":    now.Add(time.Hour).Unix(),\n}).SignedString([]byte(os.Getenv(\"CROWMENT_SSO_SECRET\")))\n","Go","go",[187,1131,1132,1137,1154,1195,1230,1250,1269,1284,1305,1339],{"__ignoreMap":418},[422,1133,1134],{"class":424,"line":425},[422,1135,1136],{"class":428},"\u002F\u002F go get github.com\u002Fgolang-jwt\u002Fjwt\u002Fv5\n",[422,1138,1139,1141,1144,1146,1148,1151],{"class":424,"line":432},[422,1140,659],{"class":439},[422,1142,1143],{"class":446},":=",[422,1145,664],{"class":439},[422,1147,480],{"class":446},[422,1149,1150],{"class":483},"Now",[422,1152,1153],{"class":446},"()\n",[422,1155,1156,1159,1161,1164,1166,1168,1170,1173,1175,1178,1180,1183,1185,1187,1189,1192],{"class":424,"line":457},[422,1157,1158],{"class":439},"ssoToken",[422,1160,514],{"class":446},[422,1162,1163],{"class":439}," err ",[422,1165,1143],{"class":446},[422,1167,477],{"class":439},[422,1169,480],{"class":446},[422,1171,1172],{"class":483},"NewWithClaims",[422,1174,835],{"class":446},[422,1176,1177],{"class":439},"jwt",[422,1179,480],{"class":446},[422,1181,1182],{"class":439},"SigningMethodHS256",[422,1184,514],{"class":446},[422,1186,477],{"class":679},[422,1188,480],{"class":446},[422,1190,1191],{"class":679},"MapClaims",[422,1193,1194],{"class":446},"{\n",[422,1196,1197,1200,1202,1204,1206,1209,1211,1214,1216,1218,1220,1223,1225,1228],{"class":424,"line":464},[422,1198,1199],{"class":446},"    \"",[422,1201,311],{"class":450},[422,1203,960],{"class":446},[422,1205,500],{"class":446},[422,1207,1208],{"class":439},"    strconv",[422,1210,480],{"class":446},[422,1212,1213],{"class":483},"FormatInt",[422,1215,835],{"class":446},[422,1217,715],{"class":439},[422,1219,480],{"class":446},[422,1221,1222],{"class":439},"ID",[422,1224,514],{"class":446},[422,1226,1227],{"class":630}," 10",[422,1229,976],{"class":446},[422,1231,1232,1234,1236,1238,1240,1243,1245,1248],{"class":424,"line":490},[422,1233,1199],{"class":446},[422,1235,328],{"class":450},[422,1237,960],{"class":446},[422,1239,500],{"class":446},[422,1241,1242],{"class":439},"   user",[422,1244,480],{"class":446},[422,1246,1247],{"class":439},"DisplayName",[422,1249,562],{"class":446},[422,1251,1252,1254,1256,1258,1260,1262,1264,1267],{"class":424,"line":547},[422,1253,1199],{"class":446},[422,1255,340],{"class":450},[422,1257,960],{"class":446},[422,1259,500],{"class":446},[422,1261,522],{"class":439},[422,1263,480],{"class":446},[422,1265,1266],{"class":439},"AvatarURL",[422,1268,562],{"class":446},[422,1270,1271,1273,1275,1277,1279,1282],{"class":424,"line":565},[422,1272,1199],{"class":446},[422,1274,380],{"class":450},[422,1276,960],{"class":446},[422,1278,500],{"class":446},[422,1280,1281],{"class":439},"    crowmentAppKey",[422,1283,562],{"class":446},[422,1285,1286,1288,1290,1292,1294,1297,1299,1302],{"class":424,"line":609},[422,1287,1199],{"class":446},[422,1289,392],{"class":450},[422,1291,960],{"class":446},[422,1293,500],{"class":446},[422,1295,1296],{"class":439},"    now",[422,1298,480],{"class":446},[422,1300,1301],{"class":483},"Unix",[422,1303,1304],{"class":446},"(),\n",[422,1306,1307,1309,1311,1313,1315,1317,1319,1322,1324,1327,1329,1332,1335,1337],{"class":424,"line":770},[422,1308,1199],{"class":446},[422,1310,396],{"class":450},[422,1312,960],{"class":446},[422,1314,500],{"class":446},[422,1316,1296],{"class":439},[422,1318,480],{"class":446},[422,1320,1321],{"class":483},"Add",[422,1323,835],{"class":446},[422,1325,1326],{"class":439},"time",[422,1328,480],{"class":446},[422,1330,1331],{"class":439},"Hour",[422,1333,1334],{"class":446},").",[422,1336,1301],{"class":483},[422,1338,1304],{"class":446},[422,1340,1341,1344,1347,1350,1353,1355,1358,1360,1363,1365,1367,1369,1371],{"class":424,"line":785},[422,1342,1343],{"class":446},"}).",[422,1345,1346],{"class":483},"SignedString",[422,1348,1349],{"class":446},"([]",[422,1351,1352],{"class":467},"byte",[422,1354,835],{"class":446},[422,1356,1357],{"class":439},"os",[422,1359,480],{"class":446},[422,1361,1362],{"class":483},"Getenv",[422,1364,835],{"class":446},[422,1366,960],{"class":446},[422,1368,226],{"class":450},[422,1370,960],{"class":446},[422,1372,1373],{"class":446},")))\n",[167,1375,1377],{"id":1376},"_3-tokenı-widgeta-verin","3. Token'ı widget'a verin",[195,1379,1380],{},"Sunucuda üretilen sayfalarda token'ı embed koduna yazın:",[412,1382,1386],{"className":1383,"code":1384,"language":1385,"meta":418,"style":418},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript defer src=\"https:\u002F\u002Fembeds.crowment.com\u002Fcomments.js\">\u003C\u002Fscript>\n\n\u003C!-- signed in: pass the token your backend signed for this page view -->\n\u003Ccrow-comments app-key=\"YOUR_APP_KEY\" sso-token=\"SIGNED_TOKEN\">\u003C\u002Fcrow-comments>\n\n\u003C!-- signed out: leave sso-token out -->\n\u003Ccrow-comments app-key=\"YOUR_APP_KEY\">\u003C\u002Fcrow-comments>\n","html",[187,1387,1388,1419,1423,1428,1465,1469,1474],{"__ignoreMap":418},[422,1389,1390,1393,1396,1399,1402,1404,1406,1409,1411,1414,1416],{"class":424,"line":425},[422,1391,1392],{"class":446},"\u003C",[422,1394,1395],{"class":496},"script",[422,1397,1398],{"class":467}," defer",[422,1400,1401],{"class":467}," src",[422,1403,474],{"class":446},[422,1405,960],{"class":446},[422,1407,1408],{"class":450},"https:\u002F\u002Fembeds.crowment.com\u002Fcomments.js",[422,1410,960],{"class":446},[422,1412,1413],{"class":446},">\u003C\u002F",[422,1415,1395],{"class":496},[422,1417,1418],{"class":446},">\n",[422,1420,1421],{"class":424,"line":432},[422,1422,461],{"emptyLinePlaceholder":460},[422,1424,1425],{"class":424,"line":457},[422,1426,1427],{"class":428},"\u003C!-- signed in: pass the token your backend signed for this page view -->\n",[422,1429,1430,1432,1435,1438,1440,1442,1445,1447,1450,1452,1454,1457,1459,1461,1463],{"class":424,"line":464},[422,1431,1392],{"class":446},[422,1433,1434],{"class":496},"crow-comments",[422,1436,1437],{"class":467}," app-key",[422,1439,474],{"class":446},[422,1441,960],{"class":446},[422,1443,1444],{"class":450},"YOUR_APP_KEY",[422,1446,960],{"class":446},[422,1448,1449],{"class":467}," sso-token",[422,1451,474],{"class":446},[422,1453,960],{"class":446},[422,1455,1456],{"class":450},"SIGNED_TOKEN",[422,1458,960],{"class":446},[422,1460,1413],{"class":446},[422,1462,1434],{"class":496},[422,1464,1418],{"class":446},[422,1466,1467],{"class":424,"line":490},[422,1468,461],{"emptyLinePlaceholder":460},[422,1470,1471],{"class":424,"line":547},[422,1472,1473],{"class":428},"\u003C!-- signed out: leave sso-token out -->\n",[422,1475,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494],{"class":424,"line":565},[422,1477,1392],{"class":446},[422,1479,1434],{"class":496},[422,1481,1437],{"class":467},[422,1483,474],{"class":446},[422,1485,960],{"class":446},[422,1487,1444],{"class":450},[422,1489,960],{"class":446},[422,1491,1413],{"class":446},[422,1493,1434],{"class":496},[422,1495,1418],{"class":446},[195,1497,1498,1499,1502],{},"Okuyucunun oturum açık olduğu ",[179,1500,1501],{},"her"," sayfada bir token verin. Token içermeyen bir sayfa widget'a okuyucunun oturumu kapattığını söyler; widget da onun yorumlardaki oturumunu kapatır. Başka sayfaları gezmek onu her seferinde yeniden oturum açtırmaz: widget oturumunu korur ve yalnızca okuyucu değiştiğinde yeni bir token alışverişi yapar.",[195,1504,1505],{},"Tek sayfalı bir uygulamada oturum durumunuz değiştikçe özelliği ekleyip kaldırın ve widget'ın olaylarını dinleyin:",[412,1507,1509],{"className":414,"code":1508,"language":417,"meta":418,"style":418},"const widget = document.querySelector('crow-comments')\n\n\u002F\u002F after your site signs the reader in\nwidget.setAttribute('sso-token', await fetchCrowmentToken())\n\n\u002F\u002F after your site signs the reader out\nwidget.removeAttribute('sso-token')\n\n\u002F\u002F the token expired while the page was open: hand over a fresh one\nwidget.addEventListener('crow:sso-expired', async () => {\n  widget.setAttribute('sso-token', await fetchCrowmentToken())\n})\n\n\u002F\u002F Required mode without a sign-in page: show your own login\nwidget.addEventListener('crow:login-required', () => openLoginDialog())\n",[187,1510,1511,1538,1542,1547,1576,1580,1585,1604,1608,1613,1644,1669,1676,1680,1685],{"__ignoreMap":418},[422,1512,1513,1515,1518,1520,1523,1525,1528,1530,1532,1534,1536],{"class":424,"line":425},[422,1514,468],{"class":467},[422,1516,1517],{"class":439}," widget ",[422,1519,474],{"class":446},[422,1521,1522],{"class":439}," document",[422,1524,480],{"class":446},[422,1526,1527],{"class":483},"querySelector",[422,1529,835],{"class":439},[422,1531,579],{"class":446},[422,1533,1434],{"class":450},[422,1535,579],{"class":446},[422,1537,612],{"class":439},[422,1539,1540],{"class":424,"line":432},[422,1541,461],{"emptyLinePlaceholder":460},[422,1543,1544],{"class":424,"line":457},[422,1545,1546],{"class":428},"\u002F\u002F after your site signs the reader in\n",[422,1548,1549,1552,1554,1557,1559,1561,1563,1565,1567,1570,1573],{"class":424,"line":464},[422,1550,1551],{"class":439},"widget",[422,1553,480],{"class":446},[422,1555,1556],{"class":483},"setAttribute",[422,1558,835],{"class":439},[422,1560,579],{"class":446},[422,1562,189],{"class":450},[422,1564,579],{"class":446},[422,1566,514],{"class":446},[422,1568,1569],{"class":435}," await",[422,1571,1572],{"class":483}," fetchCrowmentToken",[422,1574,1575],{"class":439},"())\n",[422,1577,1578],{"class":424,"line":490},[422,1579,461],{"emptyLinePlaceholder":460},[422,1581,1582],{"class":424,"line":547},[422,1583,1584],{"class":428},"\u002F\u002F after your site signs the reader out\n",[422,1586,1587,1589,1591,1594,1596,1598,1600,1602],{"class":424,"line":565},[422,1588,1551],{"class":439},[422,1590,480],{"class":446},[422,1592,1593],{"class":483},"removeAttribute",[422,1595,835],{"class":439},[422,1597,579],{"class":446},[422,1599,189],{"class":450},[422,1601,579],{"class":446},[422,1603,612],{"class":439},[422,1605,1606],{"class":424,"line":609},[422,1607,461],{"emptyLinePlaceholder":460},[422,1609,1610],{"class":424,"line":770},[422,1611,1612],{"class":428},"\u002F\u002F the token expired while the page was open: hand over a fresh one\n",[422,1614,1615,1617,1619,1622,1624,1626,1629,1631,1633,1636,1639,1641],{"class":424,"line":785},[422,1616,1551],{"class":439},[422,1618,480],{"class":446},[422,1620,1621],{"class":483},"addEventListener",[422,1623,835],{"class":439},[422,1625,579],{"class":446},[422,1627,1628],{"class":450},"crow:sso-expired",[422,1630,579],{"class":446},[422,1632,514],{"class":446},[422,1634,1635],{"class":467}," async",[422,1637,1638],{"class":446}," ()",[422,1640,756],{"class":467},[422,1642,1643],{"class":446}," {\n",[422,1645,1646,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667],{"class":424,"line":803},[422,1647,1648],{"class":439},"  widget",[422,1650,480],{"class":446},[422,1652,1556],{"class":483},[422,1654,835],{"class":496},[422,1656,579],{"class":446},[422,1658,189],{"class":450},[422,1660,579],{"class":446},[422,1662,514],{"class":446},[422,1664,1569],{"class":435},[422,1666,1572],{"class":483},[422,1668,1575],{"class":496},[422,1670,1671,1674],{"class":424,"line":826},[422,1672,1673],{"class":446},"}",[422,1675,612],{"class":439},[422,1677,1678],{"class":424,"line":1029},[422,1679,461],{"emptyLinePlaceholder":460},[422,1681,1682],{"class":424,"line":1045},[422,1683,1684],{"class":428},"\u002F\u002F Required mode without a sign-in page: show your own login\n",[422,1686,1687,1689,1691,1693,1695,1697,1700,1702,1704,1706,1708,1711],{"class":424,"line":1076},[422,1688,1551],{"class":439},[422,1690,480],{"class":446},[422,1692,1621],{"class":483},[422,1694,835],{"class":439},[422,1696,579],{"class":446},[422,1698,1699],{"class":450},"crow:login-required",[422,1701,579],{"class":446},[422,1703,514],{"class":446},[422,1705,1638],{"class":446},[422,1707,756],{"class":467},[422,1709,1710],{"class":483}," openLoginDialog",[422,1712,1575],{"class":439},[233,1714,1715,1720],{},[175,1716,1717,1719],{},[187,1718,1628],{},": widget'ın okuyucuyu oturum açtırması gerekti ama token'ın süresi dolmuştu. Yeni bir token verin.",[175,1721,1722,1724],{},[187,1723,1699],{},": Required modu açık, giriş sayfası tanımlı değil ve okuyucu giriş düğmesine bastı.",[195,1726,1727],{},"Sitenizden oturum açan okuyucular oturumu sitenizden kapatır. Çıkış sayfası tanımlı değilse widget kendi çıkış düğmesini gizler; çünkü bir sonraki sayfada token'ın verilmemesi zaten oturumu kapatır.",[167,1729,1731],{"id":1730},"_4-hesap-bağlama","4. Hesap bağlama",[195,1733,1734],{},"Zaten bir Crowment hesabı olan okuyucu, onu yorum bölümünden, avatarının yanındaki bağlantı simgesiyle bağlayabilir. Bir açılır pencerede Crowment'e giriş yapar ve bir Crowment sayfasında onaylar. Bundan sonra siteniz onu Crowment hesabıyla oturum açtırır ve site hesabıyla yazdığı yorumlar bu hesaba taşınır.",[195,1736,1737,1738,1741,1742,1745,1746,1749],{},"Bağlama, sitenizin o okuyucuyu ",[179,1739,1740],{},"yalnızca kendi sayfalarınızda"," Crowment hesabıyla oturum açtırmasına izin verir; onay sayfası bunu okuyucuya söyler. Okuyucu bağlantıyı istediği zaman User Console'da ",[179,1743,1744],{},"Profile → Linked sites"," altından kaldırabilir; yorumları onda kalır. SSO ayarlarındaki ",[179,1747,1748],{},"Account linking"," ile bağlamayı kapatabilirsiniz.",[195,1751,1752],{},"Token'ınızdaki ad ve avatar, her girişte okuyucunun yorum profilini günceller. Bağlanmış Crowment hesapları kendi ad ve avatarlarını korur.",[167,1754,1756],{"id":1755},"güvenlik","Güvenlik",[233,1758,1759,1762,1769],{},[175,1760,1761],{},"Anahtarı sunucunuzda tutun. Ona sahip olan herkes okuyucuları sitenizde herhangi biri olarak oturum açtırabilir.",[175,1763,1764,1765,1768],{},"Anahtar sızarsa ",[179,1766,1767],{},"Replace secret","'ı seçin. Eski anahtarla imzalanmış token'lar hemen çalışmaz hâle gelir; yenisini hemen yayına alın. Yorumlarda zaten oturum açmış okuyucuların oturumu açık kalır.",[175,1770,1771],{},"Token'ları yalnızca o anki isteğin okuyucusu için imzalayın ve kısa ömürlü tutun.",[167,1773,1775],{"id":1774},"sorun-giderme","Sorun giderme",[283,1777,1778,1788],{},[286,1779,1780],{},[289,1781,1782,1785],{},[292,1783,1784],{},"Belirti",[292,1786,1787],{},"Olası neden",[302,1789,1790,1809,1822,1830],{},[289,1791,1792,1797],{},[307,1793,1794],{},[187,1795,1796],{},"invalid_sso_token",[307,1798,1799,1800,1802,1803,1805,1806,1808],{},"Yanlış ya da değiştirilmiş anahtar, ",[187,1801,380],{}," uygulama anahtarı değil, HS256 dışında bir algoritma, sayı olarak gönderilen ",[187,1804,311],{},", boş bir ",[187,1807,328],{}," ya da bir saati aşan ömür.",[289,1810,1811,1816],{},[307,1812,1813],{},[187,1814,1815],{},"sso_token_expired",[307,1817,1818,1819,1821],{},"Token'ın ",[187,1820,396],{}," zamanı geçmiş ya da sunucunuzun saati kaymış. Her sayfa görüntülemesi için yeni bir token imzalayın.",[289,1823,1824,1827],{},[307,1825,1826],{},"SSO is not enabled for this app",[307,1828,1829],{},"Mod Off durumunda ya da hiç anahtar oluşturulmamış.",[289,1831,1832,1835],{},[307,1833,1834],{},"Request origin does not match",[307,1836,1837],{},"Sayfa widget'ınızın alan adında ya da onun bir alt alan adında değil.",[1839,1840,1841],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":418,"searchDepth":432,"depth":457,"links":1843},[1844,1845,1850,1851,1852,1853,1854],{"id":169,"depth":432,"text":170},{"id":200,"depth":432,"text":201,"children":1846},[1847,1848,1849],{"id":215,"depth":457,"text":216},{"id":230,"depth":457,"text":231},{"id":255,"depth":457,"text":256},{"id":273,"depth":432,"text":274},{"id":1376,"depth":432,"text":1377},{"id":1730,"depth":432,"text":1731},{"id":1755,"depth":432,"text":1756},{"id":1774,"depth":432,"text":1775},"Sitenizde oturum açmış okuyucular yorumlarda da oturum açmış olur. İkinci hesap yok, ikinci giriş yok.","md",{},{"title":93,"description":1855},"RGyIcOadE2lUwHR7Tma4McI3YQrnqunGg0TPl7Lk2M0",[1861,1863],{"title":83,"path":84,"stem":85,"description":1862,"children":-1},"Çevirmenlerinizi, destekçilerinizi ve VIP'lerinizi isimlerinin yanında gösterin; elle ya da tek oturum açma ile.",{"title":103,"path":104,"stem":105,"description":1864,"children":-1},"Planlar neyi sınırlar; nasıl yükseltilir, düşürülür ya da iptal edilir; bir ödeme başarısız olduğunda veya bir sınırı aştığınızda ne olur.",1792581796463]