Это проект ASP.NET MVC с аутентификацией типа работа / школа.
Контроллер
using Nasi.AzureConn;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Nasi.Controllers
{
public class JimmyController : Controller
{
public ActionResult GetAllSubscriptions()
{
//The below line is where the ttps://login.microsoftonline.com/{TENANT_ID}/oauth2/authorize?client_id={CLIENT_ID}
//is being called
AzureAuth aAuth = AzureAuth.GetAzureAuthorization(Session, HttpContext.GetOwinContext());
AzureConn aConn = AzureConn.GetAzureConnection(Session, aAuth);
var subscriptions = aConn.GetAllSubscriptions();
return Json(subscriptions, JsonRequestBehavior.AllowGet);
}
}
}
.cshtml
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<p>Data:</p>
<code>{{az_data}}</code>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope, $http) {
$http.get("/Jimmy/GetAllSubscriptions")
.then(function (response) {
$scope.az_data = response.data;
});
});
</script>
Я немного запутался, почему я получаю Failed to load https://login.microsoftonline.com/{TENANT_ID}/oauth2/authorize?client_id={CLIENT_ID}&response_mode=form_post&response_type=code%20id_token&scope=openid%20profile&state=OpenIdConnect.AuthenticationProperties%3{SOME RANDOM VALUE}&x-client-SKU=ID_NET451&x-client-ver=5.2.1.0: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://localhost:44320' is therefore not allowed access.
, потому что аутентификация обрабатывается контроллером, который он сам,Когда я отлаживаю контроллер var subscriptions = aConn.GetAllSubscriptions();
получил те данные, которые были предназначены.
Может кто-нибудь просветить меня в этом?