1

J'essaie de comprendre la meilleure pratique pour une certaine situation à laquelle je fais face.Rôle anonyme et identification des clients avec owin oauth sur le Web api

J'ai implémenté l'authentification de jetons de support OWIN OAUTH 2 sur Microsoft Web API. Tout fonctionne bien avec le rôle "utilisateur" authentifié prédéfini. Maintenant je dois supporter le rôle d'utilisateur "anonyme" pour permettre à de tels utilisateurs d'accéder à certaines actions de l'API, tout en obtenant leur guid généré unique dans les revendications, comme avec un utilisateur authentifié (UserId est ajouté aux revendications après succès authentification).

Cela me permettrait d'obtenir des informations sur l'utilisateur anonyme via les revendications de jeton sur chaque appel REST.

Pour l'instant, je l'ai mis en œuvre ce en passant entre les vides \ chaînes non vides pour: grant_type = mot de passe & USERNAME = & password = & client_id = tout en demandant un jeton. Cela signifie que si userName n'est pas fourni, j'assigne le rôle "custom_anonymous" à l'utilisateur, sinon, j'authentifie l'utilisateur et j'assigne le rôle "user".

Est-ce une bonne pratique? Existe-t-il de meilleurs moyens d'atteindre cet objectif?

Merci!

+0

je conteste aussi, mon premier workarround est de passer un grant_type = « anonyme » et faire de la/demande de jeton et obtenir un porteur, y compris réclamation anonUserId. mais je cherche s'il y a une solution plus appropriée pour manipuler anon ids – mecek

Répondre

0

non vous pouvez décorer votre WebAPI avec AllowAnonymous ou Authorize dans l'en-tête de l'opération. Si l'autorisation est requise

S'il vous plaît se référer https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

+1

Salut, Im essayant de créer mon propre rôle custome pour l'utilisateur anonyme: [Authorize (Rôles = "user", "custom_anonymous_user")] – Strig

+0

Vous pouvez également ajouter votre rôle personnalisé à l'identité Aspnet. check this https://stackoverflow.com/questions/28366497/how-to-add-roles-to-the-asp-identity-bearer-token –

+0

La question est de savoir si j'ajoute mon propre rôle custom_anonymous pour les utilisateurs qui n'ont pas fourni d'informations d'identification (nom d'utilisateur/pwd) est une bonne pratique, sécurité sage. – Strig