Я использую OWIN для подключения к O365 через Microsoft Graph API в приложении ASP.NET MVC.Все настроено в Startup.Auth.cs, включая значение URI перенаправления, которое в настоящее время берется из web.config.Аутентификация работает правильно.
Поскольку я использую подстановочные знаки в регистрации приложения, URI перенаправления может иметь различные значения, и пользователь может проходить аутентификацию в O365 с любого количества страниц в приложении.После аутентификации я бы хотел, чтобы их вернули на страницу, на которой они только что были, но поскольку URI перенаправления уже установлен, они возвращаются на эту страницу.
Как я могу изменить URI перенаправления, в другом местев моем коде, после того, как контекст идентичности OWIN был создан?
Ниже приведен фрагмент кода запуска.
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
private static string redirectUri = ConfigurationManager.AppSettings["ida:RedirectUri"];
....
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = appId,
Authority = "https://login.microsoftonline.com/organizations/v2.0",
PostLogoutRedirectUri = redirectUri,
RedirectUri = redirectUri,
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthorizationCodeReceived = async (context) =>
{
Dictionary<string, string> data = new Dictionary<string, string>();
data.Add("client_id", appId);
data.Add("client_secret", appSecret);
data.Add("code", code);
data.Add("grant_type", "authorization_code");
data.Add("redirect_uri", redirectUri);
...