我必须代表用户注册azure应用程序.我使用Azure Graph API执行以下操作:
之后我成功获得了创建的upp的access_token.但遗憾的是,当我尝试使用该令牌访问O365资源时,返回了401 Unauthorized.没有任何json'ed错误!
HTTP/1.1 401未经授权
的Cache-Control:无缓存
杂注:无缓存
的Content-Length:0
截止日期:-1
服务器:Microsoft-IIS/8.5
服务器:Microsoft-IIS/8.5
WWW验证:承载
X-ASPNET-版本:4.0.30319
X-Powered-By:ASP.NET
X-Powered-By:ASP.NET
日期:星期四,2015年12月10日11:58:59 GMT... 而已!
接下来我去了Azure门户 - 一切都好.经过几次实验后,我注意到access_token在通过门户网站(甚至化妆品)进行任何更改后变为有效.
所以我比较使用JWT解码器的令牌,发现Scopes不包括在内:
另外我注意到更改后覆盖了OAuth2PermissionGrant实体.
我使用了以下Web资源和库:
下面我附加了以编程方式创建app的代码.我也可以附上提琴日志和其他信息.
ActiveDirectoryClient activeDirectoryClient;
string clientSecret = "...hidden...";
string name = "O365 auto created client";
try
{
activeDirectoryClient = AuthenticationHelper.GetActiveDirectoryClientAsUser();
var appObject = new Application
{
DisplayName = "O365 auto created client",
Homepage = "https://sign",
LogoutUrl …Run Code Online (Sandbox Code Playgroud) azure office365 azure-active-directory adal azure-ad-graph-api
我需要以随机顺序生成具有相同数量的1(或0)的二进制数.
有谁知道固定长度二进制数的任何有效算法?2个1位和4位数的示例(只是为了更清楚):
1100
1010
1001
0110
0101
0011
Run Code Online (Sandbox Code Playgroud)
更新无 重复的随机顺序非常重要.需要二进制数的序列,而不是单个排列.