首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用SignOut和Microsoft.Identity.Web在Blazor服务器中调用“Microsoft.Identity.Web”?

如何用SignOut和Microsoft.Identity.Web在Blazor服务器中调用“Microsoft.Identity.Web”?
EN

Stack Overflow用户
提问于 2021-01-06 01:55:21
回答 1查看 3K关注 0票数 2

我有一个Blazor应用程序(.net5),它使用Microsoft.Identity.Web将用户签名到AzureAD中。它的这一部分都按预期工作-加载应用程序,它会自动获得"Microsoft“对话框。AuthenticationStateTask还将用户显示为"IsAuthenticated“。我的问题是尝试添加一个“退出”按钮。

我试过:

代码语言:javascript
复制
<a href="https://login.microsoftonline.com/common/oauth2/v2.0/logout">Log out</a>

以及:

代码语言:javascript
复制
<a href="https://login.microsoftonline.com/{domainID}/oauth2/logout">Log Out</a>

两人都带我到微软的“等一下,我们签了名”页面,唯一不同的是,第一个选项是问“哪个帐户”可以登录。在浏览器中按下" back“,或者再次手动转到站点地址,我就会自动作为前一位用户登录。如果我按下“注销”,然后手动转到:

代码语言:javascript
复制
/signout-oidc

我得到了一个空白页(我理解是正确的),但回到Wep应用程序,我正确地要求再次登录-所以我的假设是,回调不是自动调用。

在我的appsettings.json中有:

代码语言:javascript
复制
"CallbackPath": "/signin-oidc",
"SignedOutCallbackPath": "/signout-callback-oidc",
"RemoteSignOutPath": "/signout-oidc",

以及域名和租户等。

在Azure Web注册中,我在“前端通道注销URL”字段中有/signout-oidc。

我一定漏掉了什么东西(或者打错了URL?)然而,经过许多小时的研究,我无法解决它。

如能在此方面提供任何协助,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-06 06:53:13

您可以像下面这样使用签出按钮,选择web应用程序中的“注销”按钮触发AccountController控制器上的SignOut操作。

代码语言:javascript
复制
<a class="nav-link text-dark" asp-area="MicrosoftIdentity" asp-controller="Account" asp-action="SignOut">Sign out</a>

有关详细信息,请参阅下面的doc - https://learn.microsoft.com/en-us/azure/active-directory/develop/scenario-web-app-sign-user-sign-in?tabs=aspnetcore#sign-out

更新:

在Blazor中,您可以打开LoginDisplay.razor并按照下面的方式更新代码。

代码语言:javascript
复制
<AuthorizeView>
    <Authorized>
        Hello, @context.User.Identity.Name!
        <a href="MicrosoftIdentity/Account/SignOut">Log out</a>
    </Authorized>
    <NotAuthorized>
        <a href="MicrosoftIdentity/Account/SignIn">Log in</a>
    </NotAuthorized>
</AuthorizeView>

参考- https://developer.microsoft.com/en-us/microsoft-365/blogs/how-to-build-a-blazor-web-app-with-azure-active-directory-authentication-and-microsoft-graph/

样本- https://github.com/jpda/msiddev-blazor-aad-graph

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65589152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档