-
Notifications
You must be signed in to change notification settings - Fork 99
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d087c2f
commit 5cdb065
Showing
83 changed files
with
125,060 additions
and
0 deletions.
There are no files selected for viewing
13 changes: 13 additions & 0 deletions
13
...apter4/PowerPointAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/App_Start/FilterConfig.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
using System.Web; | ||
using System.Web.Mvc; | ||
|
||
namespace Office_Add_in_ASPNET_SSO_WebAPI | ||
{ | ||
public class FilterConfig | ||
{ | ||
public static void RegisterGlobalFilters(GlobalFilterCollection filters) | ||
{ | ||
filters.Add(new HandleErrorAttribute()); | ||
} | ||
} | ||
} |
91 changes: 91 additions & 0 deletions
91
...le/Office-Add-in-ASPNET-SSO-WebAPI/App_Start/OpenIdConnectCachingSecurityTokenProvider.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
using Microsoft.IdentityModel.Protocols; | ||
using Microsoft.Owin.Security.Jwt; | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Text; | ||
using System.Threading; | ||
using System.Threading.Tasks; | ||
using System.IdentityModel.Tokens; | ||
|
||
namespace Office_Add_in_ASPNET_SSO_WebAPI.App_Start | ||
{ | ||
public class OpenIdConnectCachingSecurityTokenProvider : IIssuerSecurityTokenProvider | ||
{ | ||
public ConfigurationManager<OpenIdConnectConfiguration> _configManager; | ||
private string _issuer; | ||
private IEnumerable<SecurityToken> _tokens; | ||
private readonly string _metadataEndpoint; | ||
|
||
private readonly ReaderWriterLockSlim _synclock = new ReaderWriterLockSlim(); | ||
|
||
public OpenIdConnectCachingSecurityTokenProvider(string metadataEndpoint) | ||
{ | ||
_metadataEndpoint = metadataEndpoint; | ||
_configManager = new ConfigurationManager<OpenIdConnectConfiguration>(metadataEndpoint); | ||
|
||
RetrieveMetadata(); | ||
} | ||
|
||
/// <summary> | ||
/// Gets the issuer the credentials are for. | ||
/// </summary> | ||
/// <value> | ||
/// The issuer the credentials are for. | ||
/// </value> | ||
public string Issuer | ||
{ | ||
get | ||
{ | ||
RetrieveMetadata(); | ||
_synclock.EnterReadLock(); | ||
try | ||
{ | ||
return _issuer; | ||
} | ||
finally | ||
{ | ||
_synclock.ExitReadLock(); | ||
} | ||
} | ||
} | ||
|
||
/// <summary> | ||
/// Gets all known security tokens. | ||
/// </summary> | ||
/// <value> | ||
/// All known security tokens. | ||
/// </value> | ||
public IEnumerable<SecurityToken> SecurityTokens | ||
{ | ||
get | ||
{ | ||
RetrieveMetadata(); | ||
_synclock.EnterReadLock(); | ||
try | ||
{ | ||
return _tokens; | ||
} | ||
finally | ||
{ | ||
_synclock.ExitReadLock(); | ||
} | ||
} | ||
} | ||
|
||
private void RetrieveMetadata() | ||
{ | ||
_synclock.EnterWriteLock(); | ||
try | ||
{ | ||
OpenIdConnectConfiguration config = _configManager.GetConfigurationAsync().Result; | ||
_issuer = config.Issuer; | ||
_tokens = config.SigningTokens; | ||
} | ||
finally | ||
{ | ||
_synclock.ExitWriteLock(); | ||
} | ||
} | ||
} | ||
} |
23 changes: 23 additions & 0 deletions
23
...hapter4/PowerPointAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/App_Start/RouteConfig.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Web; | ||
using System.Web.Mvc; | ||
using System.Web.Routing; | ||
|
||
namespace Office_Add_in_ASPNET_SSO_WebAPI | ||
{ | ||
public class RouteConfig | ||
{ | ||
public static void RegisterRoutes(RouteCollection routes) | ||
{ | ||
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); | ||
|
||
routes.MapRoute( | ||
name: "Default", | ||
url: "{controller}/{action}/{id}", | ||
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } | ||
); | ||
} | ||
} | ||
} |
43 changes: 43 additions & 0 deletions
43
...apter4/PowerPointAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/App_Start/Startup.Auth.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
// Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the root of the repo. | ||
|
||
/* | ||
This file configures auth for the add-in. | ||
*/ | ||
|
||
using Owin; | ||
using System.IdentityModel.Tokens; | ||
using System.Configuration; | ||
using Microsoft.Owin.Security.OAuth; | ||
using Microsoft.Owin.Security.Jwt; | ||
using Office_Add_in_ASPNET_SSO_WebAPI.App_Start; | ||
|
||
namespace Office_Add_in_ASPNET_SSO_WebAPI | ||
{ | ||
public partial class Startup | ||
{ | ||
public void ConfigureAuth(IAppBuilder app) | ||
{ | ||
var tvps = new TokenValidationParameters | ||
{ | ||
// Set the strings to validate against. (Scopes, which should be | ||
// simply "access_as_user" in this sample, is validated inside the controller.) | ||
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"], | ||
ValidIssuer = ConfigurationManager.AppSettings["ida:Issuer"], | ||
|
||
// Save the raw token recieved from the Office host, so it can be | ||
// used in the "on behalf of" flow. | ||
SaveSigninToken = true | ||
}; | ||
|
||
// The more familiar UseWindowsAzureActiveDirectoryBearerAuthentication does not work | ||
// with the Azure AD V2 endpoint, so use UseOAuthBearerAuthentication instead. | ||
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions | ||
{ | ||
AccessTokenFormat = new JwtFormat(tvps, | ||
|
||
// Specify the discovery endpoint, also called the "metadata address". | ||
new OpenIdConnectCachingSecurityTokenProvider("https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration")) | ||
}); | ||
} | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
...apter4/PowerPointAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/App_Start/WebApiConfig.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Linq; | ||
using System.Web.Http; | ||
|
||
namespace Office_Add_in_ASPNET_SSO_WebAPI | ||
{ | ||
public static class WebApiConfig | ||
{ | ||
public static void Register(HttpConfiguration config) | ||
{ | ||
// Web API configuration and services | ||
|
||
// Web API routes | ||
config.MapHttpAttributeRoutes(); | ||
|
||
config.Routes.MapHttpRoute( | ||
name: "DefaultApi", | ||
routeTemplate: "api/{controller}/{id}", | ||
defaults: new { id = RouteParameter.Optional } | ||
); | ||
} | ||
} | ||
} |
79 changes: 79 additions & 0 deletions
79
...pter4/PowerPointAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/ApplicationInsights.config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings"> | ||
<TelemetryInitializers> | ||
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.HttpDependenciesParsingTelemetryInitializer, Microsoft.AI.DependencyCollector"/> | ||
<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/> | ||
<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/> | ||
<Add Type="Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.AI.WindowsServer"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer, Microsoft.AI.Web"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer, Microsoft.AI.Web"> | ||
<!-- Extended list of bots: | ||
search|spider|crawl|Bot|Monitor|BrowserMob|BingPreview|PagePeeker|WebThumb|URL2PNG|ZooShot|GomezA|Google SketchUp|Read Later|KTXN|KHTE|Keynote|Pingdom|AlwaysOn|zao|borg|oegp|silk|Xenu|zeal|NING|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|Java|JNLP|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|vortex|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|voyager|archiver|Icarus6j|mogimogi|Netvibes|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|wsr-agent|http client|Python-urllib|AppEngine-Google|semanticdiscovery|facebookexternalhit|web/snippet|Google-HTTP-Java-Client--> | ||
<Filters>search|spider|crawl|Bot|Monitor|AlwaysOn</Filters> | ||
</Add> | ||
<Add Type="Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer, Microsoft.AI.Web"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer, Microsoft.AI.Web"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer, Microsoft.AI.Web"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.UserTelemetryInitializer, Microsoft.AI.Web"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer, Microsoft.AI.Web"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer, Microsoft.AI.Web"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer, Microsoft.AI.Web"/> | ||
</TelemetryInitializers> | ||
<TelemetryModules> | ||
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector"/> | ||
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector"> | ||
<!-- | ||
Use the following syntax here to collect additional performance counters: | ||
<Counters> | ||
<Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" /> | ||
... | ||
</Counters> | ||
PerformanceCounter must be either \CategoryName(InstanceName)\CounterName or \CategoryName\CounterName | ||
NOTE: performance counters configuration will be lost upon NuGet upgrade. | ||
The following placeholders are supported as InstanceName: | ||
??APP_WIN32_PROC?? - instance name of the application process for Win32 counters. | ||
??APP_W3SVC_PROC?? - instance name of the application IIS worker process for IIS/ASP.NET counters. | ||
??APP_CLR_PROC?? - instance name of the application CLR process for .NET counters. | ||
--> | ||
</Add> | ||
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/> | ||
<Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer"/> | ||
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer"/> | ||
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer"/> | ||
<Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web"> | ||
<Handlers> | ||
<!-- | ||
Add entries here to filter out additional handlers: | ||
NOTE: handler configuration will be lost upon NuGet upgrade. | ||
--> | ||
<Add>System.Web.Handlers.TransferRequestHandler</Add> | ||
<Add>Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler</Add> | ||
<Add>System.Web.StaticFileHandler</Add> | ||
<Add>System.Web.Handlers.AssemblyResourceLoader</Add> | ||
<Add>System.Web.Optimization.BundleHandler</Add> | ||
<Add>System.Web.Script.Services.ScriptHandlerFactory</Add> | ||
<Add>System.Web.Handlers.TraceHandler</Add> | ||
<Add>System.Web.Services.Discovery.DiscoveryRequestHandler</Add> | ||
<Add>System.Web.HttpDebugHandler</Add> | ||
</Handlers> | ||
</Add> | ||
<Add Type="Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule, Microsoft.AI.Web"/> | ||
</TelemetryModules> | ||
<TelemetryProcessors> | ||
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/> | ||
<Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel"> | ||
<MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond> | ||
</Add> | ||
</TelemetryProcessors> | ||
<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/> | ||
<!-- | ||
Learn more about Application Insights configuration with ApplicationInsights.config here: | ||
http://go.microsoft.com/fwlink/?LinkID=513840 | ||
Note: If not present, please add <InstrumentationKey>Your Key</InstrumentationKey> to the top of this file. | ||
--></ApplicationInsights> |
Binary file added
BIN
+269 Bytes
...intAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/Assets/images/Button16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+484 Bytes
...intAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/Assets/images/Button32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1018 Bytes
...intAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/Assets/images/Button80x80.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+11.3 KB
...SSOsample/Office-Add-in-ASPNET-SSO-WebAPI/Assets/images/generic-placeholder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions
68
...hapter4/PowerPointAddinSSOsample/Office-Add-in-ASPNET-SSO-WebAPI/Content/OfficeThemes.css
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
/* The following classes describe the common theme information for office documents */ | ||
|
||
|
||
|
||
/* Basic Font and Background Colors for text */ | ||
.office-docTheme-primary-fontColor { color:#000000; } | ||
.office-docTheme-primary-bgColor { background-color:#ffffff; } | ||
.office-docTheme-secondary-fontColor { color: #000000; } | ||
.office-docTheme-secondary-bgColor { background-color: #ffffff; } | ||
|
||
|
||
/* Accent color definitions for fonts */ | ||
.office-contentAccent1-color { color:#5b9bd5; } | ||
.office-contentAccent2-color { color:#ed7d31; } | ||
.office-contentAccent3-color { color:#a5a5a5; } | ||
.office-contentAccent4-color { color:#ffc000; } | ||
.office-contentAccent5-color { color:#4472c4; } | ||
.office-contentAccent6-color { color:#70ad47; } | ||
|
||
/* Accent color for backgrounds */ | ||
.office-contentAccent1-bgColor { background-color:#5b9bd5; } | ||
.office-contentAccent2-bgColor { background-color:#ed7d31; } | ||
.office-contentAccent3-bgColor { background-color:#a5a5a5; } | ||
.office-contentAccent4-bgColor { background-color:#ffc000; } | ||
.office-contentAccent5-bgColor { background-color:#4472c4; } | ||
.office-contentAccent6-bgColor { background-color:#70ad47; } | ||
|
||
/* Accent color for borders */ | ||
.office-contentAccent1-borderColor { border-color:#5b9bd5; } | ||
.office-contentAccent2-borderColor { border-color:#ed7d31; } | ||
.office-contentAccent3-borderColor { border-color:#a5a5a5; } | ||
.office-contentAccent4-borderColor { border-color:#ffc000; } | ||
.office-contentAccent5-borderColor { border-color:#4472c4; } | ||
.office-contentAccent6-borderColor { border-color:#70ad47; } | ||
|
||
/* links */ | ||
.office-a {color: #0563c1; } | ||
.office-a:visited { color: #954f72; } | ||
|
||
/* Body Fonts */ | ||
.office-bodyFont-eastAsian { } /* East Asian name of the Font */ | ||
.office-bodyFont-latin { font-family:"Calibri"; } /* Latin name of the Font */ | ||
.office-bodyFont-script { } /* Script name of the Font */ | ||
.office-bodyFont-localized { font-family:"Calibri"; } /* Localized name of the Font. contains the default font name according to the culture currently used in Office */ | ||
|
||
/* Headers Font */ | ||
.office-headerFont-eastAsian { } | ||
.office-headerFont-latin { font-family:"Calibri Light"; } | ||
.office-headerFont-script { } | ||
.office-headerFont-localized { font-family:"Calibri Light"; } | ||
|
||
|
||
|
||
/* The following classes define the Office themes. This classes make sense for the taskpane apps */ | ||
|
||
/* Basic Font and Background Colors for PPT */ | ||
.office-officeTheme-primary-fontColor { color:#b83b1d; } | ||
.office-officeTheme-primary-bgColor { background-color:#dedede; } | ||
.office-officeTheme-secondary-fontColor { color:#262626; } | ||
.office-officeTheme-secondary-bgColor { background-color:#ffffff; } | ||
|
||
/* Basic Font and Background Colors for Outlook Web Access */ | ||
/* remove comments and delete other apps officeTheme classes to get OWA defaults | ||
.office-officeTheme-primary-fontColor { color:#ea4400; } | ||
.office-officeTheme-primary-bgColor { background-color:#ffffff; } | ||
.office-officeTheme-secondary-fontColor { color:#ffffff; } | ||
.office-officeTheme-secondary-bgColor { background-color:#ea4400; } | ||
*/ |
Oops, something went wrong.