Skip to content

JuliusAngwenyi/SitecoreHostPlugins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sitecore Host Plugins

A repository for Sitecore Host Plugins

Introduction

For background information about what is a Sitecore Host and Host Plugins, refer to Sitecore Host Part one blog post.

In this repository, we have the following Sitecore Host Plugins for extending Sitecore Identity Server

  1. Avanade.Plugin.IdentityProvider.Ids4Demo
  2. Avanade.Plugin.IdentityProvider.Ids4Adfs
  3. Avanade.Plugin.IdentityProvider.Ids4WsFederation
  4. Avanade.Plugin.IdentityProvider.Ids4Facebook

1. Avanade.Plugin.IdentityProvider.Ids4Demo

This plugin will extend Sitecore Identity Server to with IdentityServer4 Demo provider

2. Avanade.Plugin.IdentityProvider.Ids4Adfs

This plugin will extend Sitecore Identity Server with Active Directory Open ID Connect provider

3. Avanade.Plugin.IdentityProvider.Ids4WsFederation

This plugin will extend Sitecore Identity Server with Active Directory Federation Services provider

4. Avanade.Plugin.IdentityProvider.Ids4Facebook

This plugin will extend Sitecore Identity Server with external Facebook external login

Installation

You need to Add the Sitecore Identity NuGet Feed to Visual Studio to Build this Project

Tools -> Package Manager Settings -> Package Sources Add the Following Feed

Deploying Host Plug Manually

Plugins are distributed as Nuget packages. To add a plugin to a host application so that it is loaded at runtime, the plugin must be unpacked and have its assets copied to the correct locations.

1. Create an environment folder

If you do not have one already, you need to create an environment folder under the sitecoreruntime folder. A Sitecore Host application will default its environment to Production. Unless a different environment is supplied at startup (via the --env command) it will look for the production folder first:

For example:  hostapp/sitecoreruntime/production

2. Create a plugin folder

You need to create a folder for the plugin (in our case name it Avanade.Plugin.IdentityProvider.Ids4WsFederation) . This is where the plugin manifest, assets and configuration are located. This is located inside the sitecore folder, which is inside an individual environment folder

The sitecoreruntime/<env>/sitecore folder does not override files in the hosts sitecore folder. This is a unique folder used for loading plugin assets.

Runtime environment folders cannot contain a sitecoreruntime folder of their own.

3. Unpack plugin data from a Nuget package and deploy it

We have our plugin named Avanade.Plugin.IdentityProvider.Ids4WsFederation.1.0.0.nupkg

Unpack the plugin contents. You will notice our package contains special sitecore directory in the root of the nupkg package with additional things inside it. Everything else is the standard Nuget structure.

Copy the contents of the Nuget sitecore folder to the plugin folder you created previously (for example,  sitecoreruntime/production/sitecore/Avanade.Plugin.IdentityProvider.Ids4WsFederation).

Our plugin package contains a lib folder, copy the assets from the correct target framework to the root of the sitecoreruntime/<env> folder (for example, sitecoreruntime/production/*.dll)

Our plugin package contains a content folder, copy the assets from this folder to the plugin folder created previously (for example,  sitecoreruntime/production/sitecore/Avanade.Plugin.IdentityProvider.Ids4WsFederation)

The final folder structure will looks similar to this below

Registering Azure AD Client

Follow this steps here to register your application with your Azure Active Directory tenant You will get the Application/Client ID and Tenant ID required for the Azure AD plugin

About

A repository for Sitecore Host Plugins

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages