我正在开发一个网络应用,以显示One Drive帐户中的所有内容(文件和文件夹)。
目前,我正在使用ADAL.js库从一个驱动器获取业务内容。但是,它会提示登录屏幕。
我想知道在配置文件中提供这些凭据,或者我需要以编程方式(硬编码)传递这些凭据。
任何人都可以帮我解决这个问题吗?
提前致谢
答案 0 :(得分:1)
鉴于这样的事情通常不赞成,我认为它只在.NET ADAL库中得到支持。即使这样,对同意也存在限制 - 如果需要用户同意,则呼叫将失败,因此必须配置租户管理员同意。有关更多详细信息,请参阅http://www.cloudidentity.com/blog/2014/07/08/using-adal-net-to-authenticate-users-via-usernamepassword/。
最好一次登录,同意,然后缓存刷新令牌。然后,它可以用于获取将来的访问令牌,以及应该用于更新缓存令牌的新刷新令牌,以确保不会发生过期。
答案 1 :(得分:1)
你可以做到。 获取HTML登录页面后。使用jsoup或其他库(在java中)解析它(在其他语言中检查类似的)并从HTML页面获取输入元素。您应该获得4个元素作为用户名,密码,CTX和flowToken。 CTX和flowTkoen是用于标识会话的值。添加用户名和密码值并将其存储为名称值对。 现在向https://login.microsoftonline.com/tenantId/login发送一个帖子请求,并将这些名称值对作为正文。
将tenantId替换为您的Web应用程序租户ID。
就是这样,作为回应,您将获得一个可用于获取访问令牌的授权码。