Office 365,oauth2,在哪里可以找到 Key+Secret?
Office 365, oauth2, where do I find Key+Secret?
我第一次尝试使用 oauth2 为我的本机应用程序访问 365。
我已在 Azure AD 中注册我的应用程序。
文档说,“...在 Azure 管理门户中,select 您的应用程序并在顶部菜单中选择配置。向下滚动到键。”
但是在(我的)Azure 应用程序中,配置属性,我只有名称、客户端 ID、URL 和徽标,以及权限区域 - 没有 "Keys" 区域。
我错过了什么吗?
Web 应用程序 And/OR Web API
由于您正在寻找 KEYS,您需要在 AD 中将应用程序创建为 Web 应用程序或 Web API
然后你就可以找到密钥和秘密了。
本机客户端应用程序
如果您正在开发本机客户端应用程序,则不需要密钥,因为此身份验证流程不需要它们。
所以首先你需要使用ADAL (Active Directory Authentication Library) 为您的客户端程序使用正确的版本。
然后你应该为应用程序引用你的AD配置,注意不需要KEY。
// Native client configuration in AzureAD
private string clientID = "3dfre985df0-b45640-443-a8e5-f4bd23e9d39f368";
private Uri redirectUri = new Uri("http://myUrl.webapi.client");
然后准备 AD 权限 URL 并创建 Auth Context。
private const string authority = "https://login.windows.net/cloudalloc.com";
private AuthenticationContext authContext = new AuthenticationContext(authority);
就是这样,之后您需要根据要访问的资源请求访问令牌。
AuthenticationResult result = null;
try
{
result = authContext.AcquireToken(resource, clientId, redirectUri, PromptBehavior.Never);
}
catch (AdalException ex)
{
if (ex.ErrorCode != "user_interaction_required")
{
// An unexpected error occurred.
MessageBox.Show(ex.Message);
}
}
resource
可以是 webapi 或 office 365 资源 URI
我第一次尝试使用 oauth2 为我的本机应用程序访问 365。 我已在 Azure AD 中注册我的应用程序。 文档说,“...在 Azure 管理门户中,select 您的应用程序并在顶部菜单中选择配置。向下滚动到键。”
但是在(我的)Azure 应用程序中,配置属性,我只有名称、客户端 ID、URL 和徽标,以及权限区域 - 没有 "Keys" 区域。
我错过了什么吗?
Web 应用程序 And/OR Web API
由于您正在寻找 KEYS,您需要在 AD 中将应用程序创建为 Web 应用程序或 Web API
然后你就可以找到密钥和秘密了。
本机客户端应用程序
如果您正在开发本机客户端应用程序,则不需要密钥,因为此身份验证流程不需要它们。
所以首先你需要使用ADAL (Active Directory Authentication Library) 为您的客户端程序使用正确的版本。
然后你应该为应用程序引用你的AD配置,注意不需要KEY。
// Native client configuration in AzureAD
private string clientID = "3dfre985df0-b45640-443-a8e5-f4bd23e9d39f368";
private Uri redirectUri = new Uri("http://myUrl.webapi.client");
然后准备 AD 权限 URL 并创建 Auth Context。
private const string authority = "https://login.windows.net/cloudalloc.com";
private AuthenticationContext authContext = new AuthenticationContext(authority);
就是这样,之后您需要根据要访问的资源请求访问令牌。
AuthenticationResult result = null;
try
{
result = authContext.AcquireToken(resource, clientId, redirectUri, PromptBehavior.Never);
}
catch (AdalException ex)
{
if (ex.ErrorCode != "user_interaction_required")
{
// An unexpected error occurred.
MessageBox.Show(ex.Message);
}
}
resource
可以是 webapi 或 office 365 资源 URI