0
Angularjs 앱은 API를 사용하여 서버에 연결하고 토큰 인증을 사용하고 있습니다. 포스트 만을 사용하여 토큰을 얻으면 완벽하게 작동하지만 Angulajs를 사용할 때 같은 헤더와 매개 변수와 나는 오류 : 400있어.Angularjs Access-Control-Allow-Origin
피들러를 사용하여 두 요청을 모두 확인했을 때 Angularjs의 요청에 Access-Control-Allow-Origin: *
헤더가 누락되었습니다.
해결 방법? 여기
토큰을 얻기 위해 사용하는 서비스입니다 :AuthenticationApi.Login = function (loginData) {
//POST's Object
var data = "grant_type=password&username=" + loginData.userName + "&password=" + loginData.password;
var deferred = $q.defer();
//the data will be sent the data as string not JSON object.
$http.post('http://localhost:53194/Token', data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } })
.then(function (response) {
console.log(response);
localStorageService.set('authorizationData',
{
token: response.access_token,
userName: loginData.userName
});
Authentication.isAuth = true;
Authentication.userName = loginData.userName;
console.log(Authentication);
deferred.resolve(response);
},
function (err, status) {
logout();
deferred.reject(err);
});
return deferred.promise;
};
은 API 서버, i'v 완료 CORS는 :
public void Configuration(IAppBuilder app)
{
ConfigureOAuth(app);
HttpConfiguration config = new HttpConfiguration();
WebApiConfig.Register(config);
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
app.UseWebApi(config);
}
가능하게 고르 100 % 서버 쪽 문제를 사용할 수 있기 때문에
, 크롬을 사용하지 않는, IE 나 파이어 폭스를 사용하려고합니다. 이 태그에 각도 표시 만되어 있지만 서버 측 언어 나 서버 유형과 관련된 것은 아닙니다 – charlietfl