1 messaggio dal 11 maggio 2016
Ciao a tutti
devo sviluppare da zero un applicazione,

L'applicazione è accessibile via web e da APP

Vorrei utilizzare ASP MVC 5 per la parte web, XAMARIN per la parte APP

Ho due temi per i quali vorrei un consiglio da voi:

1. devo poter accedere alle stesse risorse sia da web che da app. ad esempio, sia da web che da APP devo poter accedere alla logica di registrazione utente.
Altro esempio, sia da web che da APP devo poter richiamare un controller che restituisce una lista di prodotti, o un dettaglio di un prodotto.
Qual è il metodo più corretto per evitare di riscrivere due volte lo stesso codice? potete consigliarmi qualche guida per come strutturare il progetto?

2. devo implementare la open authentication (custom, google e facebook), sia da APP che da applicazione web. come consigliate di procedere? la APP si autentica tramite server? oppure si autentica direttamente da APP? Potete consigliarmi qualche guida?

Grazie per l?aiuto
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


devo poter accedere alle stesse risorse sia da web che da app

In questo caso puoi esporre le tue risorse con ASP.NET Web API, che consumerai sia dall'app mobile che dall'applicazione web.
Dato che tutta la logica di autenticazione, autorizzazione ed estrazione delle risorse sarà centralizzata nella tua API vorrai usarla il più possibile per evitare di doverla ripetere anche nell'applicazione ASP.NET MVC 5. Per questo sarai portato a scrivere un'applicazione che sfrutti un framework javascript come AngularJS, oppure altre librerie come KnockoutJS per presentare il JSON che otterrai dalle richieste Ajax alla Web API.
Ci sono due esempi molto importanti di applicazioni da cui puoi prendere spunto. Eccoli qui, per entrambi è disponibile il sorgente.
http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/
http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api
La parte che riguarda l'autenticazione degli utenti è stata assolta da ASP.NET Identity, che supporta anche il login da provider esterni come Google, Microsoft e Facebook.

Ad ogni modo, a prescindere di come si sia autenticato l'utente, la webapp entrerà in possesso di un access token che userà per inviare richieste alla web api a nome dell'utente.
Per quanto riguarda Xamarin non ti so aiutare molto, presumo che sia possibile riutilizzare lo stesso meccanismo ma non so come funziona in caso di external login (es. se dovrai integrare una finestra del browser o se usare una SDK come questa).

Se vuoi evitare il problema di dover implementare tutto questo, guardati gli App Service di Azure. Questo è un articolo che riguarda l'autenticazione.
https://azure.microsoft.com/en-us/documentation/articles/app-service-api-authentication/

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.