How to get access-token in Web-Api mit OAuth?
Ich habe eine Web-Anwendung erzeugt, dass der link einen access token gegen ein web-API-2.
Im wesentlichen die folgenden controller-action aufgerufen wird:
GetExternalLogin
bei AccountController
:
ApplicationUser user = await UserManager.FindAsync(new UserLoginInfo(externalLogin.LoginProvider,
externalLogin.ProviderKey));
bool hasRegistered = user != null;
if (hasRegistered)
{
Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie);
ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(UserManager,
OAuthDefaults.AuthenticationType);
ClaimsIdentity cookieIdentity = await user.GenerateUserIdentityAsync(UserManager,
CookieAuthenticationDefaults.AuthenticationType);
AuthenticationProperties properties = ApplicationOAuthProvider.CreateProperties(user.UserName);
Authentication.SignIn(properties, oAuthIdentity, cookieIdentity);
}
else
{
//as user is not registered, this block is hit
IEnumerable<Claim> claims = externalLogin.GetClaims();
ClaimsIdentity identity = new ClaimsIdentity(claims, OAuthDefaults.AuthenticationType);
Authentication.SignIn(identity);
}
return Ok();
Nun, diese Rückkehr der Ok-Zeile gibt einfach auf meine Web-API-Basis-url und fügen Sie ein token nach diesem:
https://localhost:44301/#access_token=iPl1MSgnjI3oXgDxuCH9_t5I1SsELUH-v_vNXdehGpNWsCWsQaX7csWWadWRq4H2uZ0BB8zZm2s0xOI8TSOfgzH7QbFVko4Ui8jM5SylhPgkC7eiQG-kChDfa5HMlxKF1JvRg9Kvs40rPGqsC22uel-Gi2QZlrMh_5M0NT06QOOMv4bDTAFljKw9clsMiHidX4TPfQ6UmhROMIo8FcBDlAfH7wZbSQZjFAWm4Mub-oMoUxUOzAVxJrjGiM9gxwk4iqLqGbcFVl6AncJnFO_YDtmWH_sRBvmbfzpQ6GiB10eyY-hA_L-sWtQbX8IPPtOKuWGbyg0_MfaWBfAJfUiNjH6_VjcOfPEdwUPEvbnR8vw&token_type=bearer&expires_in=1209600&state=Qvlzg__CCwjCjaqEOInQw0__FprOykwROuAciRgDlIQ1
und das ist alles.
Wie bekomme ich diese Parameter aus der URL auf und verarbeiten Sie?
Wenn ich die Basis-URL ändern, um eine andere Aktion bekomme ich die "invalid_request"
Fehler verursacht durch Aufruf der uri ist anders, redirect_uri.
So, wie eine client-app ruft den access token ?
Jede Hilfe oder Klärung wird wirklich nützlich sein.
InformationsquelleAutor Alberto Montellano | 2015-05-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
1. erstellen von Klassen für Token
2. Startup-Klasse
3 . Fügen Sie ein controller -
4. Überprüfen Sie jetzt die Genehmigung auf der Grundlage des token
gutes Beispiel, ich möchte das gleiche zu tun, bitte helfen Sie mir hier - stackoverflow.com/questions/45070290/...
InformationsquelleAutor Kashif