Comment mettre en œuvre l'Authentification HMAC dans un cadre Reposant WCF API

Nous sommes la construction d'une API RESTful en utilisant WCF (à l'heure actuelle .Net 3.5, mais allez déménager .Net 4 bientôt). Nous avons un cadre fonctionnel en place, mais il est actuellement non garantis. Il devra être accessible à partir de .Net applications iOS, Android et web applications.

Nous aimerions utiliser un schéma d'Authentification HMAC comme décrit ici et ici, mais les deux exemples semblent tomber en morceaux quand décrivant comment valider le code de hachage. Le premier exemple ne parvient pas à décrire la UserKeys objet (table de hachage?) et le deuxième exemple est absent de la GetUserKey des méthodes sur le client et côté serveur.

Quelqu'un peut-il fournir une explication de la façon dont la "Clef"/jeton est généré/stocker/extrait/utilisé dans ces exemples ou de fournir un meilleur exemple (avec le code source, si possible) d'utilisation de HMAC Autorisation dans un cadre Reposant service WCF?

Edit:
Après d'autres recherches, nous avons déterminé que nous avions besoin de plus d'un "Autorisation" technique " plutôt qu'un "L'authentification" la technique (la sémantique). Nous avons mis en place de Base Autorisation et sécurisé de l'API derrière SSL. La Base Autorisation utilise le même "Autorisation" de l'en-tête de la Requête web comme le HMAC Authentification régime, mais passe nom d'utilisateur:mot de passe chaîne encodée en Base64 au lieu d'un jeton. Cela nous a permis de coutume-valider un utilisateur à l'encontre de notre base de données pour déterminer si l'utilisateur est autorisé et dispose des droits en matière de sécurité pour accéder à l'souhaité méthode de l'API.

Nous sommes certainement à l'écoute d'autres options sur la façon de réaliser personnalisé nom d'utilisateur/mot de passe de validation et d'autres méthodes de sécurisation de l'API.

Le "reste" de la balise a été supprimée? N'est-ce pas une question appropriée à l'égard d'une API RESTful en utilisant WCF?

OriginalL'auteur Steven King | 2011-12-02