瞭解如何使用 C#
語言產生 Livefyre Token。
您可以運用舊版檔案和范常式式碼,使用C#.NET
編寫方法來建立Token。
若要參考Livefyre的官方資料庫,請使用Java資料庫作為C#
開發人員的起點。
您也可以考慮使用命令行中的Node.js庫為自己生成參考令牌,並熟悉方法結構。
當您在頁面上內嵌「注釋」時,CollectionMeta Token會傳遞至Livefyre,並為我們的系統提供新系列的必要中繼資料。 此外,您還將建立此資料的MD5 checksum
,Livefyre會檢查此資料,以查看中繼資料是否已變更。 (例如,您文章的標題或URL已編輯)。
此Token會與您的Site Key
簽署,此是由Livefyre的Technical帳戶管理員提供給您的。
另請參閱:
建立包含系列中繼資料的字典。 我們只會在此步驟中新增一些必要欄位,因為我們想在新增articleId之前,先建立此物件的校驗和。
// Site Key provided by Livefyre
string siteSecret = "ABCDE1234";
var meta = new Dictionary<string, object>() {
{"title", "Kings win the Stanley Cup"},
{"url", "https://www.website.com/kings-win-stanley-cup"},
{"tags", "sports, hockey, stanley_cup"},
{"type", "livecomments"}
};
需 要標題:系列的標題,通常是您文章的標題。最大長度為255個字元。 不支援html實體。 請使用UTF-8編碼特殊字元。
必 要:您文章的標準URL。此功能會用於留言分享和社交同步功能,以及從「管理控制面板」連結至您的文章。 如果在本機測試,請注意,Livefyre不會接受「localhost」做為網域。
標 語可選:您要新增至Livefyre控制面板中系列的逗號分隔標籤清單。標籤不能包含空格。 如果您希望有空格出現在「管理」控制面板中,請使用底線。
可 選類型:指示要建立之系列類型的字串。有效值為:
reviews
sidenotes
ratings
counting
livecomments
liveblog
livechat
如果未指定,則預設會建立LiveComments系列。
JSON會編碼此字典,並產生其md5總和。
var metaStr = JsonConvert.SerializeObject(meta);
byte[] hash;
using (var md5 = MD5.Create())
{
hash = md5.ComputeHash(Encoding.UTF8.GetBytes(metaStr));
}
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string
for (int i = 0; i < hash.Length; i++)
{
sBuilder.Append(hash[i].ToString("x2"));
}
將articleId新增至「字典」。 checksum不會進入collectionMeta Token,但應以個別參數的形式在convConfig js物件中傳送。
meta.Add("articleId", "article-abcde00001");
使用Livefyre提供給您的網站金鑰,產生字典的已簽署JWT Token。 請注意,您必須指定正確的雜湊演算法,因為JWT套件預設不使用HS256。
string token = JWT.JsonWebToken.Encode(meta, siteSecret, JWT.JwtHashAlgorithm.HS256);
使用者驗證Token可用來將使用者登入Livefyre。 當使用者登入您的網站時,網站會產生一個使用者驗證Token,此Token會傳遞至頁面上的Livefyre介面工具集。 (有關驗證過程的詳細資訊,請參閱遠程配置檔案。)
此Token需要您的網路名稱(network.fyre.co),並與您的網路金鑰簽署,該金鑰由Livefyre的技術客戶經理提供給您。
另請參閱:
建立包含必要資訊的字典。
string networkKey = "ABCDEF1234";
var payload = new Dictionary<string, object>() {
{ "domain", "mynetwork.fyre.co" },
{ "user_id", "user-00001" },
{ "expires", DateTime.Now.AddDays(7).Ticks },
{ "display_name", "johndoe" }
};
使用Livefyre提供給您的網路金鑰,產生字典的已簽署JWT Token。 請注意,您必須指定正確的雜湊演算法,因為JWT套件預設不使用HS256。
string token = JWT.JsonWebToken.Encode(payload, networkKey, JWT.JwtHashAlgorithm.HS256);