我有一个网络应用程序,客户端是用Javascript开发的。我已经在portal.azure.com上配置了我的应用程序的Azure AD登录。然后,每次加载此应用程序时,如果用户没有,则需要用户登录。 我想在我的客户端有一些Javascript,所以应用程序知道用户名。这是我的代码。
{{1}}
但是,变量 user 始终为null。有人可以帮忙吗?
答案 0 :(得分:4)
您似乎正在使用azure app服务的“身份验证/授权”功能,并且身份提供的是azure广告。如果要从客户端访问令牌(如浏览器中的JavaScript),或者如果要获取有关登录用户的更丰富信息,还可以向/.auth/me
发送经过身份验证的GET请求端点。获取用户声明的以下Javascript代码供您参考:
<script type="text/javascript">
$(document).ready(function ()
{
$.get("https://xxxxxx.azurewebsites.net/.auth/me", function (data, status) {
for (var key in data[0]["user_claims"]) {
var obj = data[0]["user_claims"][key];
alert(obj["typ"]); //claim type in user_claims
alert(obj["val"]) //claim value in user_claims
}
});
});
</script>
答案 1 :(得分:0)
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript">
$.get("https://xxxxx.azurewebsites.net/.auth/me", function (data) {
labeler = data[0]['user_id'];
window.alert("You logged in as " + data[0]['user_id']);
});
</script>