Commit Graph

215 Commits

Author SHA1 Message Date
Fabien O'Carroll
1bad6dee4e Fixed linting for auth-pages
no-issue
2019-05-07 17:15:50 +02:00
Zimo
d805f93c14 Updated members payment failed copy and style
no-issue
2019-05-07 17:15:50 +02:00
Rish
0872ff4e9b Updated signup flow to handle invalid payments
no issue
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
946514d630 Updated members auth pages to use gateway-protocol (#10695)
no-issue

This swaps out a hand copied library with the published one on npm
2019-05-07 17:15:50 +02:00
Zimo
0db210ab68 Added close event on member pages background click 2019-05-07 17:15:50 +02:00
Peter Zimon
25e5a31d91 Members refine buttons (#10692)
* Members: disabled signup button during signup

* Members: disabled non-Stripe signup button during signup

* Members: added check to Log in button logged in state
2019-05-07 17:15:50 +02:00
Zimo
e163f527a0 Updated mobile styles for members upgrade screen 2019-05-07 17:15:50 +02:00
Fabien O'Carroll
ce68df5462 Fixed subscription issue with null coupons
no-issue

Coupons were being sent as null to the api, so we support non required fields
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
9692a0f066 Added default disabled state of false to FormInput
no-issue
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
9a842cab7c Removed unused onClick handler in StripeSubscribePage
no-issue
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
eb0463b119 Added coupon support to StripeSubscribePage
no-issue

Only shows the (disabled) input when a coupon is available
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
5cb9850784 Cleaned up render{Subscribe,Upgrade}Page
no-issue

- ensured promises are returned
- removed unused prop
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
f0f1583817 Added CouponInput component
no-issue

This can be used in the subscribe pages to pass coupon info through
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
5b063659d0 Added support for disabled form elements
no-issue

This can be used for a coupon input in future
2019-05-07 17:15:50 +02:00
Rish
f3722b6979 Added spinner on member signup pages
no issue
2019-05-07 17:15:50 +02:00
Rish
ab2f65e5a5 Updated member signin page to show logged in status
no issue
2019-05-07 17:15:50 +02:00
Zimo
26728c50a8 Added fade in for signup complete page 2019-05-07 17:15:50 +02:00
Peter Zimon
09fde87ad9 Members refinements (#10689)
* Updated close animation speed for members pages
* Updated responsive styles for members mobile screens 
* Adding spinner CSS to members pages
* Adding members signup complete page
2019-05-07 17:15:50 +02:00
Rish
19f243aed1 Refactored members auth flow with dynamic settings
no issue

- Updated members auth flow UI
- Updated members settings and routing to be dynamic
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
33c574f257 Added support for serverside rendering of members content (#10522)
no-issue

- Added member auth middleware to siteApp
- Passed member as context in routing service
- set Cache-Control: private for member requests
- fucked up some tests
- Added member as global template variable
- Updated tokens to have expiry of subscription_period_end
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
b51b6b1d43 Added upgrade page to members auth (#10513)
no-issue
2019-05-07 17:15:50 +02:00
Zimo
3fbe1981d0 Applying basic styles to members popups
no issue
2019-05-07 17:15:50 +02:00
Rish
84d09e7dc6 Updated members modal UI structure
no issue
2019-05-07 17:15:50 +02:00
Rishabh Garg
7d826c4b44 Updated signup page for members (#10493)
no issue

* Added new subscribe page with stripe integration
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
b1a1f61d5d Refactored auth pages for future flows (#10458)
no-issue

* Used camelCase for gateway method calls
* Added some components for building blocks of forms
* Added input specific components
* Added Form component
    This handles collecting the data to submit and sharing state between forms
* Added Pages component to handle urls
* Added the pages for the popup
* Added MembersProvider component
    This is designed to give its children access to gateway methods
* Added Modal component
    This wraps the pages and handles dispatching form submissions to the members gateway
* Refactored index.js to use new components/pages
* Fixed default page from Signup -> Signin
2019-05-07 17:15:50 +02:00
Rish
0755036926 Fixed console getting cleared on dev start
closes https://github.com/TryGhost/Ghost/issues/10409

- Removed `clearConsole` on preact cli
2019-05-07 17:15:50 +02:00
Rish
42bed3c22d Fixed error handling for members reset password
no-issue

- Both input and form error was shown on submitting reset-password form
- Does not submit form anymore in case of validation errors
2019-05-07 17:15:50 +02:00
Peter Zimon
e85a6a1cac Members auth ui refinements (#10279)
* Update mobile modal animations
* Member popup input error and placeholder refinements
* Adding close animation to members auth popups
* Improve members auth dialog
* Refine members reset password design
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
07b6e73bd8 Added members lib module (#10260)
* Added members library inc. gateway

refs #10213

* Added the auth pages and build steps for them

refs #10213

* Cleaned up logs

* Updated gruntfile to run yarn for member auth

* Design refinements on members popups

* UI refinements

* Updated backend call to trigger only if frontend validation passes

* Design refinements for error messages

* Added error message for email failure

* Updated request-password-reset to not attempt to send headers twice

* Updated preact publicPath to relative path

* Build auth pages on init
2019-05-07 17:15:50 +02:00
Fabien O'Carroll
8d8c8a69ca Published new versions
- @tryghost/members-ssr@0.1.5
2019-05-06 12:25:45 +02:00
Fabien O'Carroll
7e5733998e Removed request stream consumption unless required
no-issue

This is to avoid the getMemberDataFromCookie helper consuming the
request stream before other handlers can read from it.
2019-05-06 12:23:27 +02:00
Fabien O'Carroll
9f307746ca Published new versions
- @tryghost/members-browser-auth@0.1.1
 - @tryghost/members-gateway-api@0.1.2
 - @tryghost/members-gateway-protocol@0.1.1
 - @tryghost/members-ssr@0.1.4
 - @tryghost/members-theme-bindings@0.1.0
2019-04-23 16:47:39 +02:00
Renovate Bot
67135f58e8 Pin dependencies 2019-04-23 16:46:09 +02:00
Fabien O'Carroll
ce7f55b7b9 Added clean commands for prebuild and pretest
no-issue
2019-04-23 16:45:05 +02:00
Fabien O'Carroll
5b8fe0f643 Updated init method to take siteUrl named param 2019-04-23 16:42:11 +02:00
Fabien O'Carroll
87690f9a03 Added members-theme-bindings module
no-issue
2019-04-23 16:42:11 +02:00
Renovate Bot
9e996857bc Update dependency jsdom to v15 2019-04-23 10:16:13 +02:00
Renovate Bot
7187a4e074 Pin dependency keypair to 1.0.1 2019-04-23 10:15:48 +02:00
Renovate Bot
b5e9bf7047 Update dependency jsdom to v14.1.0 2019-04-22 03:43:40 +00:00
Renovate Bot
f374362ba5 Update Test & linting packages 2019-04-22 01:29:05 +00:00
Fabien O'Carroll
c70f1c7b45 Published new versions
- @tryghost/members-browser-auth@0.1.0
 - @tryghost/members-gateway-api@0.1.1
2019-04-18 14:09:55 +02:00
Fabien O'Carroll
bfa1354ef4 Updated gateway-api package.json 2019-04-18 14:08:11 +02:00
Fabien O'Carroll
d5972c137c Added initial browser-auth package 2019-04-18 14:07:59 +02:00
Fabien O'Carroll
3432d6801b Published new versions
- @tryghost/members-gateway-api@0.1.0
2019-04-18 13:50:06 +02:00
Fabien O'Carroll
8fe55f2306 Added initial gateway-api module 2019-04-18 13:49:26 +02:00
Fabien O'Carroll
6aa6da6da0 Published new versions
- @tryghost/members-gateway-protocol@0.1.0
 - @tryghost/members-ssr@0.1.3
2019-04-18 13:09:32 +02:00
Fabien O'Carroll
13b7f536e8 Enabled public access for members-gateway-protocol 2019-04-18 12:21:56 +02:00
Fabien O'Carroll
e0643344a2 Published new versions
- @tryghost/members-ssr@0.1.2
2019-04-18 12:16:29 +02:00
Fabien O'Carroll
766635ab85 Fixed lint task for members-ssr package 2019-04-18 11:40:42 +02:00
Fabien O'Carroll
8ce18f2b4b Removed sdk dir (#6) 2019-04-18 11:40:22 +02:00
Fabien O'Carroll
182b43b5b2 Created members-gateway-protocol package (#5) 2019-04-18 11:03:44 +02:00
Fabien O'Carroll
99c4a454ad Added support for signup buttons w/ coupons
no-issue

This will allows themes to have an element like:
<el data-members-signup data-members-coupon="blah"/>

To open the signup page, and optionally apply a coupon
2019-04-17 11:30:51 +02:00
Fabien O'Carroll
3c3cbabacf Refactored dropin script event handlers
no-issue
2019-04-17 11:30:51 +02:00
Fabien O'Carroll
547b27aa68 Added signup method to open signup page w/ coupon
no-issue

This is so that coupons can be passed to the auth pages
2019-04-17 11:30:51 +02:00
Rish
cf7c8df6f7 Published new versions
- @tryghost/members-ssr@0.1.1
2019-04-16 19:14:57 +05:30
Rish
a9453604cc Updated publish config 2019-04-16 19:13:45 +05:30
Rish
8fd78ab221 Published new versions
- @tryghost/members-ssr@0.1.0
2019-04-16 18:14:59 +05:30
Fabien O'Carroll
b22d254c12 Updated members-ssr package name 2019-04-16 12:28:58 +02:00
Fabien O'Carroll
60cdf82354 Removed lazy loading 2019-04-16 12:22:55 +02:00
Fabien O'Carroll
de410052dd Removed lint task for members-ssr
no-issue

For some reason this task hangs. Need to fix
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
68fa28b4f5 Updated dropin script to use SSR tokens
no-issue

This finalises the use of SSR for the dropin script
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
73b18e6566 Added getSSRToken method to members layer2
no-issue

This fetches a token with an audience of the members api to be used with SSR
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
cd5a9d0c6b Fixed lazy load of auth pages
no-issue

dumb mistake, cant call then on a function
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
37266cf552 Added getConfig method to members layer1
no-issue

This can be used for fetching information about the members api
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
ee11ef5cf4 Added lazyLoad support for auth pages
no-issue
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
ae32d3e2b5 Updated README
no-issue
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
32e81fb030 Updated example
no-issue
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
27bb3a6955 Updated theme-dropin to use correct audience for SSR
no-issue

This is to be inline with the updated use of audience claims
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
632fdce8b1 Added deleteSession method
no-issue

This will be used for logout
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
8ae95f6d32 Updated to return Promise.reject rather than throw
no-issue

This is cleaner IMO
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
eaf163cb9c Updated to use membersApi iss as expected aud
no-issue

This is because we now use specific URLs for audiences claims, e.g. for
members running locally the audience would be:

    - http://localhost:2368/ghost/api/v2/members/
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
524e32bed5 Removed unused token parsing and cookie checks
no-issue

We no longer store anything in document.cookie, so all of this code is
redundant
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
17fd366e3b Updated SDK to use new serverside rendering
no-issue
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
db74ef3d1a Used return value of {set,remove}Cookie
no-issue

Soon these functions will make network calls, returning them allows us to use promises
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
02468bfe0c Fixed cookie verification handling
no-issue

turns out the get method fails if the cookie is missing, rather than returning null
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
1ee0720ed5 Ran yarn add concat-stream
no-issue

Used for getting contents of request stream
2019-04-16 12:22:55 +02:00
Fabien O'Carroll
5c9ed65b06 Added runnable example w/ mock membersApi 2019-04-16 12:22:55 +02:00
Fabien O'Carroll
2e40e253d6 Implemented MVP 2019-04-16 12:22:55 +02:00
Fabien O'Carroll
47f46d5b9b Added example usage to README 2019-04-16 12:22:55 +02:00
Fabien O'Carroll
e55430c726 Ran yarn add --dev keypair 2019-04-16 12:22:55 +02:00
Fabien O'Carroll
d4a8e3dc1e Ran yarn add cookies jsonwebtoken 2019-04-16 12:22:55 +02:00
Fabien O'Carroll
803b09664c Ran slimer new members-ssr 2019-04-16 12:22:55 +02:00
Fabien O'Carroll
cbbd28cc90 Ensured that signups/signins get fresh token
no-issue

This is to avoid any weirdness around the two requests for signup to a
paid site. First we have the signup request, and then we have the create
subscription request. After the first signup request a "signedin" event
is fired, fetching a token, but one without any plans.
2019-03-25 09:35:07 +01:00
Fabien O'Carroll
036b195af9 Fixed upgrade not updating member state on reload
no-issue

The problem here is that upgrade would recieve the same token from the
localStorage cache, rather than a brand new token with the plan info.
2019-03-25 09:35:07 +01:00
Fabien O'Carroll
487326aef5 Updated layer2 to pass fresh param to layer1
no-issue

This is needed so that the theme dropin script can ensure that a new
token is recieved after upgrade
2019-03-25 09:35:07 +01:00
Fabien O'Carroll
709a1cce4e Updated layer1 to pass fresh param to gateway
no-issue

This is needed so that we can request a brand new token from layer1, in
the instance of knowing user data has changed, we can have a token whihc
reflects it.
2019-03-25 09:35:07 +01:00
Fabien O'Carroll
5dfcbb6b5e Added missing semicolons
no-issue
2019-03-25 09:35:07 +01:00
Fabien O'Carroll
e553ea6e02 Corrected refs for content-api and layer1 deps
no-issue

content-api is not in same repo any more, layer1 brought inline with how
layer2 works
2019-03-25 09:35:07 +01:00
Rish
e6e5209a8c Moved members SDK packages from Ghost-SDK 2019-03-14 13:16:15 +05:30
Rish
ef01a65da5 Initial commit 2019-03-14 12:14:23 +05:30
Fabien O'Carroll
cfac2339cb Updated members drop-in script to set cookie for SSR (#61)
no-issue
2019-02-25 10:17:58 +01:00
Rish
db8d51f458 Updated members SDK 2019-02-23 17:29:02 +07:00
Fabien O'Carroll
7c360aa51d Updated members SDK to handle upgrade (#52)
no-issue

Adds update method to layer 2

Adds update support to drop in script

Improves flickering
2019-02-23 04:33:14 +01:00
Fabien O'Carroll
8d2bbe5b0d Updated members sdk to latest content-api (#45)
no-issue

* Upgrade to latest content api
* Removed unused closeAuth

* Removed auto close of popup and wait for event
* Added globals to top of file
2019-02-06 17:03:55 +01:00
John O'Nolan
0f6809bab5 2019 2019-01-01 14:38:49 +00:00
Fabien O'Carroll
51be84182d Updated members sdks for third party use (#25)
* Pass container from layer2 for iframes to be attached

* Updated layer2 to resolve with success for auth page methods

* Updated theme dropin to reload when auth method succeeds
2018-12-10 15:55:10 +07:00
Fabien O'Carroll
b990761136 Updated layer2 to listen to close request from auth popup 2018-12-09 14:00:02 +07:00
Fabien O'Carroll
aec178ee8b Removed hash after password reset 2018-12-07 18:59:47 +07:00
Fabien O'Carroll
cf6822ba36 Fixed JWT regex 2018-12-07 16:21:52 +07:00
Fabien O'Carroll
9b105e7590 Members update (#24)
* Ignored build

* Deleted build dir

* Updated layer1 to interface with simplified gateway

* Updated layer1 to only handle gateway

* Updated layer2 to handle gateway & auth, but no DOM

* Updated theme dropin to handle DOM

* Updated layer2;

* Added password-reset flow to the member dropin script

* Reload page after password reset
2018-12-07 14:32:23 +05:30
Zimo
eddcbaff5b Update position of auth iFrame 2018-12-04 19:42:47 +01:00
Zimo
481b9d6459 Update members iFrame style 2018-12-04 19:33:21 +01:00
Zimo
0c8af4fa64 Update members auth iFrame style 2018-12-04 19:24:03 +01:00
Fabien O'Carroll
cb5592d853 Updated member layers (#23)
* Corrected the event handling of layer0

* Updated layer1 to use layer0

* Updated dropin script to read blogUrl from window;
2018-12-04 09:24:04 +05:30
Fabien O'Carroll
399219b6ea Members layer0 (#22)
* Created initial layer0 sdk

* Updated layer1 to use layer0

* Updated layer2 to accept and pass blogUrl to layer1

* Updated theme-dropin to pass blogUrl to layer2

* Updated yarn.lock
2018-11-23 15:43:16 +07:00
Rishabh Garg
56bbc14d43 Created drop-in script module for ghost themes (#19)
* Added WIP drop-in script for prototype

* Cleaned up theme dropping script module

- Updated layer2 to work with reload as an option, as well as sign-in cta on the page

* Handle cat failure

* Updated SDK data attires

* Used commonjs exports

* Used browserify for the build
2018-11-15 14:36:51 +07:00
Fabien O'Carroll
dacd58c768 Update packages/members/layer2/index.js 2018-11-14 17:36:26 +05:30
Fabien O'Carroll
52759bceb1 Updated layer2 to inline with drop in solution 2018-11-14 17:36:26 +05:30
Fabien O'Carroll
37e8d5b670 Updated README for members layer2 SDK 2018-11-14 15:12:59 +07:00
Fabien O'Carroll
51a5e53c06 Updated layer2 drop in script to set/unset cookies (#17)
* Updated layer2 drop in script to set/unset cookies

* Use ES5 and remove transforms
2018-11-14 15:09:29 +07:00
Fabien O'Carroll
7fdbd57667 Fixed logout for members layer1
no-issue

LocalStorage converts items to strings so "null" was being stored.
2018-11-14 12:06:46 +07:00
Fabien O'Carroll
d4f8fc89a3 Created initial layer2 for Members SDK
closes #9
2018-11-14 08:47:17 +05:30
Fabien O'Carroll
d201b62f73 Fixed jwt sign method call
no-issue
2018-11-13 15:23:36 +05:30
Rish
7366f6bf4c Updated members layer1 to handle create/destroy/get jwt token
closes #11

- Uses signed jwt with NONE algorithm
- Token stored in localStorage
2018-11-12 13:59:59 +07:00
Rish
32ee16a081 Created members-layer1 sdk base structure
closes #8
2018-11-09 13:24:16 +05:30