Criação de tokens do Livefyre C#

Saiba mais sobre como gerar tokens do Livefyre usando a linguagem C#.

Você pode aproveitar a documentação herdada e o código de amostra para usar C#.NET para gravar métodos para criar tokens.

Para fazer referência às bibliotecas oficiais do Livefyre, use a Biblioteca Java como ponto de partida para desenvolvedores C#.

Você também pode considerar o uso da Biblioteca Node.js da linha de comando para gerar tokens de referência para você mesmo e familiarizar-se com a estrutura do método.

Dependências

CollectionMeta Token

O CollectionMeta Token é passado para o Livefyre quando você incorpora Comentários em uma página e fornece ao sistema os metadados necessários para sua nova coleção. Além disso, você criará um MD5 checksum desses dados, que o Livefyre verifica para ver se os metadados foram alterados. (por exemplo, se o título ou url do artigo foi editado).

Esse token é assinado com seu Site Key, que foi fornecido a você pelo Gerente de conta técnico em Livefyre.

Consulte também:

  1. Crie um dicionário contendo os metadados da coleção. Vamos adicionar apenas alguns dos campos necessários nesta etapa, pois queremos criar uma soma de verificação desse objeto ANTES de adicionar a 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"} 
        };
    
    • Título necessário: O título da coleção, normalmente o título do artigo. O comprimento máximo é de 255 caracteres. Não suporta entidades html. Codifique caracteres especiais usando UTF-8.

    • urlrequired: O url canônico do seu artigo. Isso é usado pelos recursos de compartilhamento de comentários e sincronização social, além de links para seu artigo no Painel de administração. Se estiver testando localmente, observe que o Livefyre não aceitará "localhost" como um domínio.

    • tags opcionais: Uma lista separada por vírgulas de tags que você deseja adicionar à coleção no painel do Livefyre. As tags não podem conter espaços. Use sublinhados se desejar que um espaço apareça no painel de Administração.

    • typeoptional: Uma string que indica o tipo de coleção a ser criada. Os valores válidos são:

      • reviews
      • sidenotes
      • ratings
      • counting
      • livecomments
      • liveblog
      • livechat

      Se não especificado, uma coleção LiveComments é criada por padrão.

  2. JSON codifica esse dicionário e gera uma soma de verificação 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")); 
        } 
    
  3. Adicione o articleId ao Dicionário. O checksum não entra no token collectionMeta, mas deve ser enviado como um parâmetro separado no objeto js de conversãoConfig .

        meta.Add("articleId", "article-abcde00001"); 
    
    • articleIdrequired: Um identificador exclusivo para sua coleção no site Livefyre. Normalmente, o articleId exclusivo usado em seu CMS. (por exemplo, sua ID de publicação do WordPress) Esse valor nunca deve ser alterado. Livefyre identifica coleções exclusivas pela combinação de siteId e articleId.
  4. Gere um token JWT assinado do dicionário, usando a chave do site fornecida a você pelo Livefyre. Observe que você deve especificar o algoritmo de hash correto, pois o pacote JWT não usa HS256 por padrão.

        string token = JWT.JsonWebToken.Encode(meta, siteSecret, JWT.JwtHashAlgorithm.HS256);
    

O Token de Autenticação do Usuário

O Token de autenticação do usuário é usado para assinar um usuário no Livefyre. Quando um usuário entra em seu site, o site gera um Token de autenticação de usuário que é passado para o widget Livefyre na página. (Para obter mais informações sobre o processo de autenticação, consulte Perfis remotos.)

Esse token requer seu nome de rede (network.fyre.co) e é assinado com sua chave de rede, fornecida a você pelo seu gerente de conta técnica na Livefyre.

Consulte também:

  1. Crie um dicionário contendo as informações necessárias.

        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" } 
            }; 
    
    • domínio: o nome da sua rede (fornecido pelo Livefyre.) por exemplo mynetwork.fyre.co
    • user_id: a ID de usuário exclusiva para o usuário no sistema de perfil do site. Deve ser somente caracteres alfanuméricos (A-Z, a-z, 0-9). Se as IDs do usuário do seu sistema contiverem caracteres inválidos, considere enviar ao Livefyre um hash md5 da id de usuário ou uma versão codificada em base64 dela. (Informe o gerente da conta se fizer isso.)
    • expira: a data (em época) em que o token expira. Isso deve corresponder ao tempo de sessão dos logons no site, para que o estado de logon do Livefyre permaneça sincronizado com o estado de logon do site.
    • display_name: o nome de exibição do usuário em seu sistema de perfil, como deve ser exibido no fluxo de comentários.
  2. Gere um token JWT assinado do dicionário, usando a Chave de rede fornecida a você pelo Livefyre. Observe que você deve especificar o algoritmo de hash correto, pois o pacote JWT não usa HS256 por padrão.

           string token = JWT.JsonWebToken.Encode(payload, networkKey, JWT.JwtHashAlgorithm.HS256);
    

Nesta página