Ho riscontrato qualche problema durante l'utilizzo di Xamarin.Auth per l'autenticazione OAuth2.Utilizzo di Xamarin.Auth per l'autenticazione OAuth2: nome utente e password?
Da POSTINO sto inviando richiesta di token, tramite metodo GET per il mio URL backend: http://example.com/backend/oauth/token con l'aggiunta di intestazione:
autorizzazione, di base xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
e con i parametri di sotto nell'URL:
client_id = backendClient
scope = leggere
grant_type = Password
nome utente = admin
la password = admin
così si va come: http://example.com/backend/oauth/token?client_id=backendClient&scope=read&grant_type=password&username=admin&password=admin
mi dà indietro JSON , che assomiglia a:
{ "access_token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "token_type": "bearer", "refresh_token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "expires_in": 9999, "scope": "read" }
ho voluto per l'autenticazione al mio servizio di back-end, da applicazioni mobile (utilizzando Xamarin.Forms app), e ho cercato di utilizzare Xamarin.Auth, per l'autenticazione al mio backend - https://developer.xamarin.com/guides/xamarin-forms/web-services/authentication/oauth/
Infatti utilizzando OAuth2Authenticator, è in grado almeno di "ping" il mio backend (mettendo URL, clientIde ecc), come si ritorna:
<UnauthorizedException>
<error>unauthorized</error>
<error_description>Full authentication is required to access this resource</error_description>
</UnauthorizedException>
tuttavia il messaggio è inviato in modo errato - almeno credo, dato che non c'è Autorizzazione nell'intestazione + Non ho visto alcuna possibilità di passare nome utente e password in OAuth2Authenticator.
Qualcuno ha idea, come posso farlo? O dovrei usare qualcos'altro - non Xamarin.Auth?
Grazie.
Si prega di aggiungere anche esempi sulle chiamate OAuth2Authenticator mentre si sta chiedendo cosa si sta facendo in modo errato. E Xamarin.Auth funziona per me per l'autenticazione Dropbox. Per Microsoft Live, ho dovuto apportare alcune modifiche in quanto vi è una leggera deviazione nella gestione delle richieste rispetto a quanto implementato in Xamarin.Auth. Aggiungete anche alcune informazioni su quale versione di Xamarin.Auth state usando. – eX0du5
Per me è semplice capire, cosa potrebbe essere sbagliato, dopo qualche ricerca. L'implementazione del mio backend OAuth2 richiedeva Header con * Chiave di autorizzazione * e valore hash. Il problema è che Xamarin.Auth non è in grado di passare l'intestazione - https://github.com/xamarin/Xamarin.Auth/issues/61 C'è qualche soluzione? – Namek
quale ramo di questo progetto stai usando? Il master branch obsoleto o https://github.com/xamarin/Xamarin.Auth/tree/portable-bait-and-switch che sembra essere la base del pacchetto Nuget (versione 1.5 se non ricordo male). – eX0du5