我已将Azure Mobile Service和AD设置为进行身份验证。
通过移动应用程序注销并完美登录。
AD应用程序回复网址为https://test.azure-mobile.net/signin-aad
<table class="footable" data-filter="#filter" id="tableresult">
<thead>
<th>Client name</th>
<th>Staff name</th>
<th>Matter</th>
<th> Delete</th>
</thead>
<tr id="<?php echo $id; ?>" class="edit_tr">
<td class="edit_td" >
<span id="client_<?php echo $id; ?>" class="text"><?php echo $clientname; ?></span>
<input type="text" value="<?php echo $clientname; ?>" class="editbox" id="client_input_<?php echo $id; ?>" />
</td>
<td class="edit_td">
<span id="staff_<?php echo $id; ?>" class="text"><?php echo $staff; ?></span>
<input type="text" value="<?php echo $staff; ?>" class="editbox" id="staff_input_<?php echo $id; ?>"/>
</td>
<td class="edit_td">
<span id="matter_<?php echo $id; ?>" class="text"><?php echo $matter; ?></span>
<input type="text" value="<?php echo $matter; ?>" class="editbox" id="matter_input_<?php echo $id; ?>"/>
</td>
<div id ="delete_btn">
<td class="delete_td"><input type="button" id="del" class="btn btn-danger" value="×"></input></td>
</div>
</tr>
这项工作非常完美。
但是如果我在LOGOUT之后从authResult复制令牌,我可以使用相同的令牌从邮递员调用API。
标题:X-ZUMO-AUTH→令牌
我如何验证令牌? Azure移动服务端需要进行任何设置来验证和阻止此操作吗?
答案 0 :(得分:3)
当您注销客户端时,将从客户端删除身份验证令牌,但不会向服务器传达任何内容以指示此令牌现在无效。因此,如果令牌存储在其他地方并重新使用,它将在到期之前仍然有效。
我不确定这是一个很好的方法。您可以重置站点的主密钥,但这会使所有其他令牌无效,因此这不是一个可行的选项。您可以在服务器上存储无效令牌列表,并使用每个请求进行检查,但这会为每个请求添加查找。
以下是另一个问题,其中包含类似的答案和其他几个链接:Logout/invalidate a JWT