Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - slappforge/simple-authenticator: Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda. · GitHub
Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - slappforge/simple-authenticator: Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda. · GitHub
Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - slappforge/simple-authenticator: Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda. · GitHub
Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - slappforge/simple-authenticator: Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda. · GitHub
Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - slappforge/simple-authenticator: Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda. · GitHub
Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - slappforge/simple-authenticator: Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda. · GitHub
Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - slappforge/simple-authenticator: Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda. · GitHub
Skip to content

Repository files navigation

Simple Authenticator

This is a databases backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Prerequisites

All the deployments of this application are based on Amazon AWS. To open the project, you will need the Sigma IDE which can be found at https://sigma.slappforge.com. You will need to create an account and provide your AWS credentials to open the project (Your AWS credentials will not be acquired by SLAppForge under any circumstances).

Use Case Description

This application is supposed to showcase a simple authenticator implementation using AWS RDS, API Gateway and Lambda.

It will create an RDS MySQL instance by instance identifier authDatabase and initialize it with the following DDL.

CREATETABLEusers ( UserId intNOT NULL AUTO_INCREMENT,
Email varchar(255) NOT NULL UNIQUE,
Password varchar(255) NOT NULL,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
PRIMARY KEY (UserId)
);

Further it will create an API Gateway proxy by the name auth-api with two endpoints, one for signup (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) and the other for signin (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin).

Getting Started

In order to get started you just have to open the sample project from the SLAppForge IDE and deploy it on top of your AWS account. While deploying the project, IDE will get a clone of this and commit it to your own GitHub account to allow you to keep playing with the source code to get familiar with the application.

Deployment

Click on the deployment button and it should deploy all lambdas that are required to run the application.

Testing

After the deployment, you can test this sample application by first sending HTTP request to signup and then by sending another request to signin. First we need to find the URL of the created API Gateway proxy "auth-api". To find the endpoint URL, please follow these steps.

  1. Sign in to the AWS Management Console, and then open the API Gateway console at https://console.aws.amazon.com/apigateway/.
  2. Make sure that you are signed in to the AWS region where you selected when creating the Sigma project.
  3. On the API Gateway page, in the APIs list, look for the name "auth-api".
  4. Select the API entry and then click on the the Stages menu in the navigation pane. Now click on the prod stage. Then copy the invoke URL value in the format of https://{api-id}.execute-api.{region}.amazonaws.com/prod.
  5. Similarly find the other invoke URL as well.
  6. Now, first to signup, send an HTTP POST request to the signup endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signup) you found in the earlier step with a sample JSON payload as follows.
{
"email": "rajind@adroitlogic.com",
"password": "12345678",
"lastName": "Ruparathna",
"firstName": "Rajind",
"address": "12 A /5, Pirivena Rd, Mount Lavinia"
}
  1. In the signup call an entry will be added to the users table. If you were successful you'll get a 200 OK response with the response message Successfully added a new user with email.
  2. Then, to check the signin, send an HTTP POST request to the signin endpoint (https://{api-id}.execute-api.{region}.amazonaws.com/prod/signin) you found in the earlier steps with a sample JSON payload as follows. Note that the values should match the values used in signup request.
{
"email": "rajind@adroitlogic.com",
"password": "12345678"
}

If the signin is successful you'll get a 200 OK response with the response message true.

Authors

  • Randika Navagamuwa
  • Rajind Ruparathna

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 

Acknowledgments

  • Awesome SLAppForge team

About

Database backed simple authenticator implementation using AWS RDS, API Gateway and Lambda.

Resources

Stars

0 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages