This example shows how to use Symfony 4 and Angular to create a basic CRUD app for tracking pun counts in movies, using Okta to handle authentication.
Please read (Article Placeholder) to see how this application was built.
Prerequisites: PHP, Node, Okta developer account
Okta has Authentication and User Management APIs that reduce development time with instant-on, scalable user infrastructure. Okta's intuitive API and expert support make it easy for developers to authenticate, manage, and secure users and roles in any application.
Sign up for an Okta developer account and create a new application. Make note of the Client ID and Issuer values for your application.
Clone this project using the following commands:
git clone [email protected]:oktadeveloper/okta-php-symfony-angular-crud-example.git
cd okta-php-symfony-angular-crud-example
Create the database and user for the project:
mysql -uroot -p
CREATE DATABASE bad_puns_counter CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL on bad_puns_counter.* to [email protected] identified by 'temppass123';
quit
Copy and edit the .env
file and enter the db details there:
cd bad-puns-tracker-server
cp .env.dist .env
Edit src/Controller/ApiController.php
and replace the Okta credentials with your own.
Install the project dependencies, run the migrations and then start the server:
composer install
php bin/console doctrine:migrations:migrate
php -S 127.0.0.1:8000 -t public
Loading 127.0.0.1:8000 now should show the default Symfony 4 page, and 127.0.0.1:8000/movies should show you a 'Not authorized' message. NOTE: if using a virtual machine and NAT, you might need to run the server as php -S 0.0.0.0:8000 -t public
instead.
Edit the Okta configuration in src/app/app.module.ts
to fill in your client ID and other application details. (Refer to the (Article Placeholder) for more details.) Then install the dependencies and run the server:
cd bad-puns-tracker-client-angular
npm install -g @angular/cli
npm install
ng serve --open
Loading 127.0.0.1:4200 now should show you the application.
Please post any questions as comments on the (Article Placeholder), or visit our Okta Developer Forums. You can also email [email protected] if would like to create a support ticket.
Apache 2.0, see LICENSE.