私はidentityServer3サンプルアプリケーションを持っています。
public static IEnumerable<Client> GetClients()
{
return new[]
{
new Client
{
Enabled = true,
ClientId = "manager",
ClientName = "ManagerIdentity",
Flow = Flows.ResourceOwner,
ClientSecrets = new List<Secret>
{
new Secret("secret".Sha256())
},
AllowedScopes = new List<string>
{
Constants.StandardScopes.OpenId
},
AllowAccessTokensViaBrowser = true,
AllowedCorsOrigins = new List<string>{
"http://localhost:24678/" // angular application uri
}
}
}
私はこの情報と郵便配達員によるリクエストとトークンの返品を使用しています。
しかし、angularjs javascript アプリケーションを介して同じリクエストを送信すると、400 の不正なリクエストが返されます。
angular.module("app").controller("ROPCController", [
"$scope","$http",
function($scope,$http) {
$scope.login = function() {
var options = {
"url": "http://localhost:4751/connect/token",
"method": "POST",
"data": {
"username": "muser",
"password": "password",
"grant_type": "password",
"client_id": "manager",
"client_secret": "secret",
"scope":"openid"
},
"headers": {
"Content-Type": "application/x-www-form-urlencoded"
}
};
$http(options).then(
function(response) {
console.log(response.data);
},
function(error) {
console.log(error);
}
);
}
}
]);
{"エラー":"invalid_client"}