SlideShare a Scribd company logo
1 of 28
Adding Social Login with
BPMN 2.0
MintJams Content Repository
(C) 2016 MintJams Inc.
Overview: 2
• Adding Social Login to website (OAuth 2.0)
• Web request processing with BPMN 2.0
• Loading Java libraries dynamically
• Customizable and Extensible
Demo
MintJams Content Repository
Adding Social Login with BPMN 2.0
Tools: 4
• Content Repository 5.10.3
• Google API Client Library for Java 1.21.0
• Google Sign-In assets (button images)
Installing and Preparing: 5
Example source file
https://sourceforge.net/projects/morpho/files/e
xamples/social-login-bpmn.zip/download
Google API Client
Library for Java
https://developers.google.com/api-client-
library/java/
Google Sign-In assets
https://developers.google.com/identity/brandin
g-guidelines
Others:
Please refer to the following documents:
Creating a Web Application with JavaScript
+ jQuery
http://www.slideshare.net/mintjams/creating-a-
web-application-with-javascript-jquery
Event Handling Basics
http://www.slideshare.net/mintjams/event-
handling-basics
Preparing the Java libraries
MintJams Content Repository
Adding Social Login with BPMN 2.0
jarupload: Overview 7
Description:
The event listener that listens for the events in
the folder "/WEB-INF/lib".
Path:
/WEB-INF/lib/.metadata/jarupload
Facets:
Event Listener
mintjams:event.listener (built-in)
Type
mintjams:event.types (built-in)
Script Type
mintjams:event.script.type (built-in)
Script Source
mintjams:event.script.inline (built-in)
jarupload: Settings 8
See example source:
/WEB-INF/lib/metadata/jarupload.js
jarupload: APIs 9
ClassLoaderAPI.deploy()
Deploys the Java library (JAR) file specified to workspace.
ClassLoaderAPI.undeploy()
Undeploys the Java library (JAR) file specified from workspace.
Deploy the JARs: 10
Deploy from example source:
/WEB-INF/lib
Preparing the BPMN 2.0
diagrams
MintJams Content Repository
Adding Social Login with BPMN 2.0
web.yml: 12
Description:
Activates the BPMN function.
Path:
/WEB-INF/web.yml
Configuration:
plugins: [BpmnAPI]
bpmnupload: Overview 13
Description:
The event listener that listens for the events in
the folder "/WEB-INF/bpmn".
Path:
/WEB-INF/bpmn/.metadata/bpmnupload
Facets:
Event Listener
mintjams:event.listener (built-in)
Type
mintjams:event.types (built-in)
Script Type
mintjams:event.script.type (built-in)
Script Source
mintjams:event.script.inline (built-in)
bpmnupload: Settings 14
See example source:
/WEB-INF/bpmn/metadata/bpmnupload.js
bpmnupload: APIs 15
BpmnAPI.deploy()
Deploys the BPMN 2.0 diagram file specified to workspace.
BpmnAPI.undeploy()
Undeploys the BPMN 2.0 diagram file specified from workspace.
Deploy the BPMN diagrams: 16
Deploy from example source:
/WEB-INF/bpmn
BPMN diagrams: 17
Script:
See example source
Script:
See example source
Call sub process:
See example source
Preparing the content files
MintJams Content Repository
Adding Social Login with BPMN 2.0
google_login: Overview 19
Description:
Send an authentication request to Google
Authorization Server.
Path:
/social_login/google_login
Facets:
Web Template
mintjams:web.template (built-in)
Process ID
mintjams:bpmn.process.id (built-in)
Client ID
oauth2.client_id (user defined)
Scope
oauth2.scopes (user defined)
Redirect URI
oauth2.redirect_uri (user defined)
google_login: Settings 20
BPMN 2.0 process ID
Enter a your client ID
Enter a your redirect URI
google_login_callback: Overview 21
Description:
Exchange code for access token and ID token.
Path:
/social_login/google_login_callback
Facets:
Web Template
mintjams:web.template (built-in)
Process ID
mintjams:bpmn.process.id (built-in)
Client ID
oauth2.client_id (user defined)
Client Secret
oauth2.client_secret (user defined)
Redirect URI
oauth2.redirect_uri (user defined)
google_login_callback: Settings 22
BPMN 2.0 process ID
Enter a your client ID
Enter a your redirect URI
Enter a your client secret
Preparing the templates
MintJams Content Repository
Adding Social Login with BPMN 2.0
bpmn_action.html.bpmn: Overview 24
Description:
The template file that executes the BPMN 2.0
script engine. This template does not need the
contents. The BPMN 2.0 script engine uses the
facets associated to the content file.
Path:
/WEB-INF/themes/default/
bpmn_action.html.bpmn
Preparing the resources
MintJams Content Repository
Adding Social Login with BPMN 2.0
Deploy the resources 26
Deploy from example source:
/WEB-INF/themes/default/resources/social_login
Content Repository
https://www.mintjams.jp/products/contentrepository.html
27
MintJams
https://www.mintjams.jp/
28

More Related Content

Similar to Adding Social Login with BPMN 2.0

Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)
Michael Dobe, Ph.D.
 
Admin Panel
Admin Panel Admin Panel
Tech 2 - Introduction to the Code
Tech 2 - Introduction to the CodeTech 2 - Introduction to the Code
Tech 2 - Introduction to the Code
AidIQ
 

Similar to Adding Social Login with BPMN 2.0 (20)

Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 
Google Chrome Extensions - DevFest09
Google Chrome Extensions - DevFest09Google Chrome Extensions - DevFest09
Google Chrome Extensions - DevFest09
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 RICOH THETA x IoT Developers Contest : Cloud API Seminar RICOH THETA x IoT Developers Contest : Cloud API Seminar
RICOH THETA x IoT Developers Contest : Cloud API Seminar
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
Implémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans codeImplémentez une intégration avec AEM presque sans code
Implémentez une intégration avec AEM presque sans code
 
Charla desarrollo de apps con sharepoint y office 365
Charla   desarrollo de apps con sharepoint y office 365Charla   desarrollo de apps con sharepoint y office 365
Charla desarrollo de apps con sharepoint y office 365
 
Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)
 
Admin Panel
Admin Panel Admin Panel
Admin Panel
 
An Introduction to Django Web Framework
An Introduction to Django Web FrameworkAn Introduction to Django Web Framework
An Introduction to Django Web Framework
 
The LeanIX Microservices Integration
The LeanIX Microservices IntegrationThe LeanIX Microservices Integration
The LeanIX Microservices Integration
 
Automated Image Builds in OpenShift and Kubernetes
Automated Image Builds in OpenShift and KubernetesAutomated Image Builds in OpenShift and Kubernetes
Automated Image Builds in OpenShift and Kubernetes
 
Magento Meetup New Delhi- Console
Magento Meetup New Delhi- ConsoleMagento Meetup New Delhi- Console
Magento Meetup New Delhi- Console
 
Introduction to Cloud Computing - COA101
Introduction to Cloud Computing - COA101Introduction to Cloud Computing - COA101
Introduction to Cloud Computing - COA101
 
Integrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst applicationIntegrating IBM Business Process Manager with a hybrid MobileFirst application
Integrating IBM Business Process Manager with a hybrid MobileFirst application
 
Tech 2 - Introduction to the Code
Tech 2 - Introduction to the CodeTech 2 - Introduction to the Code
Tech 2 - Introduction to the Code
 
Spsdc 2014 o365_power_shell_csom_amitv
Spsdc 2014 o365_power_shell_csom_amitvSpsdc 2014 o365_power_shell_csom_amitv
Spsdc 2014 o365_power_shell_csom_amitv
 
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
 
Lamdba micro service using Amazon Api Gateway
Lamdba micro service using Amazon Api GatewayLamdba micro service using Amazon Api Gateway
Lamdba micro service using Amazon Api Gateway
 

More from MintJams Inc. (9)

Build a CMS on Amazon EC2 in 5 minutes
Build a CMS on Amazon EC2 in 5 minutesBuild a CMS on Amazon EC2 in 5 minutes
Build a CMS on Amazon EC2 in 5 minutes
 
Creating a Web Application with JavaScript + jQuery
Creating a Web Application with JavaScript + jQueryCreating a Web Application with JavaScript + jQuery
Creating a Web Application with JavaScript + jQuery
 
Webフレームワーク
WebフレームワークWebフレームワーク
Webフレームワーク
 
ファセット設計の進め方
ファセット設計の進め方ファセット設計の進め方
ファセット設計の進め方
 
Content Repositoryとは
Content RepositoryとはContent Repositoryとは
Content Repositoryとは
 
CR5とJavaScriptによるウェブアプリの作り方
CR5とJavaScriptによるウェブアプリの作り方CR5とJavaScriptによるウェブアプリの作り方
CR5とJavaScriptによるウェブアプリの作り方
 
Recommended Security Settings
Recommended Security SettingsRecommended Security Settings
Recommended Security Settings
 
Managing Users and Groups
Managing Users and GroupsManaging Users and Groups
Managing Users and Groups
 
Getting Started
Getting StartedGetting Started
Getting Started
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

Adding Social Login with BPMN 2.0