public ViewResult ResourceOwnerCredentialsGrant(ResourceOwnerCredentialsGrantViewModel model) { if (this.ModelState.IsValid) { try { // Create the client with which we will be connecting to the server. var webServerClient = new WebServerClient(_authServerDescription, clientIdentifier: model.ClientId); // The scope that we request for the user. Note: this can also be null if we don't want to request any specific // scope or more than one scope if we want to request an access token that is valid for several scopes var userScopes = OAuthUtilities.SplitScopes(model.Scope ?? string.Empty); // Request a new user access token for the specified user and the specified scopes (http://tools.ietf.org/html/draft-ietf-oauth-v2-31#page-35) this.ViewBag.AccessToken = webServerClient.ExchangeUserCredentialForToken(model.Username, model.Password, userScopes); } catch (Exception ex) { this.ViewBag.Exception = ex; } } return this.View(model); }
public ViewResult ResourceOwnerCredentialsGrant() { // We will set-up correct default values to make it easier for the user to start testing var model = new ResourceOwnerCredentialsGrantViewModel { Username = "******", Password = "******", ClientId = "demo-client-res-owner-identifier", Scope = "user" }; return this.View(model); }