{"push_id":4204162731,"size":109,"distinct_size":4,"ref":"refs/heads/dev-office-hours","head":"34ac9a80438003a02aac3ce6e544f6e3c8bef578","before":"5a138a4667c20556946d322e901dcb0dc475fec4","commits":[{"sha":"8a77bf2438f1f6fbb7fef22a9b8c5923e45dac2a","author":{"name":"Micah Silverman","email":"45b9372d3d6883e588eb18cca37878d6aa2d5cd5@afitnerd.com"},"message":"Jimena ELK blog post","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/8a77bf2438f1f6fbb7fef22a9b8c5923e45dac2a"},{"sha":"0689ef12e8350eb4029afe78a2961ca8dba1fb31","author":{"name":"Micah Silverman","email":"45b9372d3d6883e588eb18cca37878d6aa2d5cd5@afitnerd.com"},"message":"fixed numbering per @mraible","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/0689ef12e8350eb4029afe78a2961ca8dba1fb31"},{"sha":"9104b15c4a5085972ae505ad1251df4ec788caa9","author":{"name":"Micah Silverman","email":"45b9372d3d6883e588eb18cca37878d6aa2d5cd5@afitnerd.com"},"message":"Apply suggestions from code review\n\nCo-Authored-By: Matt Raible <matt.raible@okta.com>","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/9104b15c4a5085972ae505ad1251df4ec788caa9"},{"sha":"a469f62e78e0f8d35ca973a31d17f620cf0e8bab","author":{"name":"Micah Silverman","email":"45b9372d3d6883e588eb18cca37878d6aa2d5cd5@afitnerd.com"},"message":"integrated suggestions from @mraible","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/a469f62e78e0f8d35ca973a31d17f620cf0e8bab"},{"sha":"433f02d1ea4b9028e111138afc574933b37b7ade","author":{"name":"ImgBotApp","email":"858471a511451575f9769176c7c5b94525007a21@gmail.com"},"message":"[ImgBot] Optimize images\n\n*Total -- 57,030.75kb -> 51,245.76kb (10.14%)\n\n/_source/_assets/img/blog/episerver/VS2019configureprojectepiserver.png -- 53.94kb -> 20.19kb (62.56%)\n/_source/_assets/img/blog/why-public-key-cryptography-matters/public-key-encryption-with-signing.png -- 111.93kb -> 42.95kb (61.63%)\n/_source/_assets/img/blog/why-public-key-cryptography-matters/public-key-encryption.png -- 97.61kb -> 38.88kb (60.17%)\n/_source/_assets/img/blog/episerver/VS2019newepiserverproject.png -- 52.37kb -> 21.09kb (59.72%)\n/_source/_assets/img/blog/episerver/githubepiserverstartup.png -- 158.24kb -> 68.96kb (56.42%)\n/_source/_assets/img/blog/episerver/VS2019episerverextension.png -- 60.59kb -> 26.81kb (55.75%)\n/_source/_assets/img/blog/episerver/VS2019solutionstartup.png -- 39.85kb -> 17.66kb (55.69%)\n/_source/_assets/img/blog/episerver/VS2019getstarted.png -- 88.96kb -> 41.66kb (53.17%)\n/_source/_assets/img/blog/vue-data-binding-approaches/intial_data_binding.png -- 65.96kb -> 31.08kb (52.88%)\n/_source/_assets/img/blog/episerver/VS2019episerveralloy.png -- 54.20kb -> 25.71kb (52.56%)\n/_source/_assets/img/blog/angular-mongodb-hangman/hangman-game.png -- 24.27kb -> 12.05kb (50.34%)\n/_source/_assets/img/blog/episerver/oktaauthserver.png -- 54.31kb -> 27.34kb (49.65%)\n/_source/_assets/img/blog/episerver/oktaappconfig.png -- 107.59kb -> 54.34kb (49.5%)\n/_source/_assets/img/blog/jenkins-csharp/okta-app-settings.png -- 75.65kb -> 38.25kb (49.44%)\n/_source/_assets/img/blog/episerver/oktaaddauthserver.png -- 17.77kb -> 9.28kb (47.78%)\n/_source/_assets/img/blog/vue-data-binding-approaches/okta_login.png -- 65.43kb -> 35.02kb (46.48%)\n/_source/_assets/img/blog/jenkins-csharp/okta-app-edit-settings.png -- 56.71kb -> 30.35kb (46.48%)\n/_source/_assets/img/blog/spring-boot-jpa/project_structure.png -- 123.98kb -> 67.33kb (45.7%)\n/_source/_assets/img/blog/spring-boot-jpa/app_admin.png -- 83.38kb -> 45.29kb (45.68%)\n/_source/_assets/img/blog/okta-authjs-pkce/oidc-app-settings.png -- 307.96kb -> 175.14kb (43.13%)\n/_source/books/images/apisec-cover.png -- 30.88kb -> 17.60kb (43.01%)\n/_source/_assets/img/blog/sign-in-with-apple/apple-oauth-redirect.png -- 285.21kb -> 164.29kb (42.4%)\n/_source/_assets/img/blog/php-group-role-authorization/image6.png -- 77.91kb -> 45.39kb (41.73%)\n/_source/_assets/img/blog/laravel-postgres/image3.png -- 142.47kb -> 83.61kb (41.31%)\n/_source/_assets/img/blog/okta-authjs-pkce/idtoken_url.png -- 132.66kb -> 78.43kb (40.88%)\n/_source/_assets/img/blog/sign-in-with-apple/apple-sign-in-tokens.png -- 163.27kb -> 97.31kb (40.4%)\n/_source/_assets/img/blog/episerver/oktaeditrule.png -- 97.03kb -> 58.24kb (39.98%)\n/_source/_assets/img/blog/php-group-role-authorization/image8.png -- 67.84kb -> 42.25kb (37.73%)\n/_source/_assets/img/blog/php-group-role-authorization/image1.png -- 116.63kb -> 73.13kb (37.3%)\n/_source/_assets/img/blog/best-travel-tips/cruiseshipdiagram.png -- 72.57kb -> 45.81kb (36.88%)\n/_source/_assets/img/blog/okta-authjs-pkce/profile.png -- 810.58kb -> 511.72kb (36.87%)\n/_source/_assets/img/blog/vue-data-binding-approaches/vuejs_app_basic.png -- 59.14kb -> 37.84kb (36.02%)\n/_source/_assets/img/blog/sign-in-with-apple/apple-revoke-application.png -- 187.95kb -> 120.39kb (35.95%)\n/_source/_assets/img/blog/php-group-role-authorization/image3.png -- 58.77kb -> 38.04kb (35.28%)\n/_source/_assets/img/blog/php-group-role-authorization/image5.png -- 70.34kb -> 45.89kb (34.76%)\n/_source/_assets/img/blog/okta-authjs-pkce/implicit_breakpoint.png -- 435.50kb -> 285.55kb (34.43%)\n/_source/_assets/img/blog/vue-data-binding-approaches/idtoken_data.png -- 156.89kb -> 105.30kb (32.88%)\n/_source/_assets/img/blog/laravel-postgres/image4.png -- 33.75kb -> 23.01kb (31.83%)\n/_source/_assets/img/blog/php-laravel-authentication/add-application-button.png -- 33.75kb -> 23.01kb (31.83%)\n/_source/_assets/img/blog/symfony-authentication/add-application.png -- 33.75kb -> 23.01kb (31.83%)\n/_source/_assets/img/blog/php-group-role-authorization/image2.png -- 33.75kb -> 23.01kb (31.83%)\n/_source/_assets/img/blog/saml/saml-flow.png -- 44.85kb -> 30.74kb (31.46%)\n/_source/_assets/img/blog/vue-data-binding-approaches/implicit_flow.jpg -- 117.86kb -> 82.69kb (29.85%)\n/_source/_assets/img/blog/saml/saml-third-party-flow.png -- 46.09kb -> 32.35kb (29.82%)\n/_source/_assets/img/blog/twelve-factor/stick-figure-teacher.png -- 8.12kb -> 5.71kb (29.61%)\n/_source/_assets/img/blog/the-hardest-thing-about-data-encryption/symmetric-encryption-best-practices.png -- 338.66kb -> 244.85kb (27.7%)\n/_source/_assets/img/blog/vue-data-binding-approaches/okta_spa.png -- 170.46kb -> 123.54kb (27.52%)\n/_source/_assets/img/blog/sign-in-with-apple/1-sign-in-with-apple-button.png -- 2.44kb -> 1.79kb (26.66%)\n/_source/_assets/img/blog/the-hardest-thing-about-data-encryption/symmetric-decryption-best-practices.png -- 283.89kb -> 208.78kb (26.46%)\n/_source/_assets/img/blog/secure-spring-rest-api/openid-connect.png -- 23.42kb -> 17.30kb (26.12%)\n/_source/_assets/img/blog/aspnet-webforms/vs-new-app-webforms.png -- 25.50kb -> 19.13kb (25.01%)\n/_source/_assets/img/blog/secure-spring-rest-api/openid-connect-token.png -- 68.84kb -> 51.75kb (24.83%)\n/_source/_assets/img/blog/configure-dotnet-auth-in-owin/app-sign-in.png -- 56.56kb -> 42.71kb (24.48%)\n/_source/_assets/img/blog/secure-spring-rest-api/create-new-service.png -- 44.04kb -> 33.35kb (24.27%)\n/_source/_assets/img/blog/aspnet-webforms/vs-new-project-dialog.png -- 33.35kb -> 25.28kb (24.21%)\n/_source/_assets/img/blog/episerver/oktasignin.png -- 101.83kb -> 77.39kb (24%)\n/_source/_assets/img/blog/secure-spring-rest-api/create-new-web-application.png -- 33.16kb -> 25.25kb (23.84%)\n/_source/_assets/img/blog/spring-boot-aws/okta-aws-ebs-06.png -- 12.92kb -> 9.84kb (23.81%)\n/_source/_assets/img/blog/whats-new-in-es2019/whats-new-in-es2019.jpg -- 240.50kb -> 183.32kb (23.77%)\n/_source/_assets/img/blog/webapi-vue-crud/vs-add-controller-settings.png -- 6.60kb -> 5.09kb (22.94%)\n/_source/_assets/img/blog/configure-dotnet-auth-in-owin/app-sign-in-success.png -- 56.98kb -> 44.12kb (22.58%)\n/_source/_assets/img/blog/spring-boot-aws/okta-aws-ebs-01.png -- 7.46kb -> 5.78kb (22.46%)\n/_source/assets-jekyll/favicon/favicon.png -- 1.27kb -> 0.98kb (22.44%)\n/_source/_assets/img/blog/sign-in-with-apple/4-2fa-code.jpg -- 70.06kb -> 54.41kb (22.34%)\n/_source/_assets/img/blog/spring-boot-jpa/okta_login.png -- 40.40kb -> 31.42kb (22.24%)\n/_source/_assets/img/blog/secure-spring-rest-api/service-created.png -- 36.38kb -> 28.38kb (22.01%)\n/_source/_assets/img/blog/the-hardest-thing-about-data-encryption/useful-cryptography.png -- 413.91kb -> 323.82kb (21.77%)\n/_source/_assets/img/blog/best-travel-tips/oktatraveltips.png -- 38.48kb -> 30.18kb (21.57%)\n/_source/_assets/img/avatar-jimena.png -- 281.60kb -> 221.44kb (21.37%)\n/_source/_assets/img/blog/seven-new-vs-features/vs-docker-support.png -- 40.29kb -> 31.86kb (20.93%)\n/_source/_assets/img/blog/best-travel-tips/the-best-travel-tips-for-people-in-tech.png -- 100.99kb -> 80.22kb (20.57%)\n/_source/_assets/img/blog/jenkins-csharp/jenkins-stores-scoped.png -- 14.17kb -> 11.44kb (19.32%)\n/_source/_assets/img/blog/spring-boot-aws/okta-aws-ebs-03.png -- 57.44kb -> 46.45kb (19.13%)\n/_source/_assets/img/blog/java-microservices-cloud-config/java-microservices-jhipster.jpg -- 216.00kb -> 175.04kb (18.96%)\n/_source/_assets/img/blog/secure-spring-rest-api/openid-connect-profile-scope.png -- 3.48kb -> 2.83kb (18.89%)\n/_source/_assets/img/blog/react-sign-in-widget/react-sample-app-settings.png -- 62.20kb -> 50.67kb (18.54%)\n/_source/_assets/img/blog/spring-boot-aws/okta-aws-ebs-04.png -- 19.89kb -> 16.22kb (18.45%)\n/_source/_assets/img/blog/the-hardest-thing-about-data-encryption/asymmetric-encryption.png -- 179.03kb -> 146.33kb (18.26%)\n/_source/_assets/img/blog/configure-dotnet-auth-in-owin/uri-and-creds.png -- 83.56kb -> 68.31kb (18.25%)\n/_source/_assets/img/avatar-ivo-katunaric.jpg -- 9.73kb -> 7.99kb (17.85%)\n/_source/_assets/img/blog/aspnetcore-mysql/okta-web-application.png -- 148.41kb -> 122.34kb (17.57%)\n/_source/_assets/img/blog/spring-boot-aws/okta-aws-ebs-02.png -- 61.16kb -> 51.81kb (15.28%)\n/_source/_assets/img/blog/user-migration/stick-figure-advice.jpg -- 15.28kb -> 13.00kb (14.93%)\n/_source/_assets/img/blog/configure-dotnet-auth-in-owin/owin-startup-class.png -- 89.83kb -> 76.47kb (14.88%)\n/_source/_assets/img/blog/configure-dotnet-auth-in-owin/app-settings.png -- 104.03kb -> 89.23kb (14.22%)\n/_source/_assets/img/blog/sign-in-with-apple/3-2fa-prompt.jpg -- 176.06kb -> 152.41kb (13.43%)\n/_source/_assets/img/blog/devrel-at-okta/developer-relations.png -- 89.29kb -> 77.89kb (12.77%)\n/_source/_assets/img/blog/user-migration/happy-programmer.jpg -- 29.08kb -> 25.45kb (12.49%)\n/_source/_assets/img/blog/webapi-vue-crud/vs-new-project-dialog.png -- 29.02kb -> 25.66kb (11.56%)\n/_source/_assets/img/blog/alexa-aspnet-linking/alexa-dotnet-testmobile.jpg -- 179.10kb -> 159.19kb (11.11%)\n/_source/_assets/img/blog/the-hardest-thing-about-data-encryption/symmetric-encryption.png -- 366.94kb -> 327.16kb (10.84%)\n/_source/_assets/img/blog/featured/okta-ios-tile-books-mouse.jpg -- 510.56kb -> 456.72kb (10.54%)\n/_source/_assets/img/blog/mysql-vs-postgres/mysql-vs-postgres.png -- 94.05kb -> 84.37kb (10.29%)\n/_source/_assets/img/blog/devrel-protips/quorralyne.jpg -- 117.47kb -> 105.42kb (10.26%)\n/_source/_assets/img/blog/featured/okta-java-short-tile-books-mouse.jpg -- 518.53kb -> 466.71kb (9.99%)\n/_source/_assets/img/blog/corb/corb.png -- 82.44kb -> 74.69kb (9.4%)\n/_source/_assets/img/blog/featured/okta-android-tile-books-mouse.jpg -- 556.46kb -> 504.23kb (9.39%)\n/_source/_assets/img/blog/featured/okta-angular-tile-books-mouse.jpg -- 605.59kb -> 548.96kb (9.35%)\n/_source/_assets/img/blog/featured/okta-vue-tile-books-mouse.jpg -- 642.80kb -> 582.76kb (9.34%)\n/_source/_assets/img/blog/featured/okta-node-tile-books-mouse.jpg -- 610.50kb -> 556.20kb (8.9%)\n/_source/_assets/img/blog/featured/okta-java-short-skew.jpg -- 664.24kb -> 609.04kb (8.31%)\n/_source/_assets/img/blog/featured/okta-dotnet-tile-mouse.jpg -- 560.32kb -> 513.90kb (8.29%)\n/_source/_assets/img/blog/featured/okta-android-skew.jpg -- 663.02kb -> 608.48kb (8.23%)\n/_source/_assets/img/blog/featured/okta-dotnet-books-quarter.jpg -- 722.56kb -> 664.34kb (8.06%)\n/_source/_assets/img/blog/featured/okta-php-headphones.jpg -- 678.01kb -> 624.03kb (7.96%)\n/_source/_assets/img/blog/featured/okta-java-tile-books-mouse.jpg -- 628.54kb -> 579.06kb (7.87%)\n/_source/_assets/img/blog/featured/okta-react-headphones.jpg -- 691.03kb -> 637.08kb (7.81%)\n/_source/_assets/img/blog/featured/okta-node-bottle-headphones.jpg -- 630.81kb -> 581.68kb (7.79%)\n/_source/_assets/img/blog/featured/okta-angular-headphones.jpg -- 670.68kb -> 618.54kb (7.77%)\n/_source/_assets/img/blog/featured/okta-angular-bottle-headphones.jpg -- 601.92kb -> 555.22kb (7.76%)\n/_source/_assets/img/blog/featured/okta-ios-bottle-headphones.jpg -- 612.75kb -> 566.04kb (7.62%)\n/_source/_assets/img/blog/featured/okta-dotnet-headphones.jpg -- 675.41kb -> 624.54kb (7.53%)\n/_source/_assets/img/blog/featured/okta-android-bottle-headphones-dark.jpg -- 634.29kb -> 586.69kb (7.5%)\n/_source/_assets/img/blog/spring-boot-aws/okta-aws-ebs-05.png -- 220.14kb -> 203.63kb (7.5%)\n/_source/_assets/img/blog/build-crud-app-aspnetcore-angular/angular-home.jpg -- 54.77kb -> 50.69kb (7.46%)\n/_source/_assets/img/blog/featured/okta-dotnet-half.jpg -- 777.34kb -> 720.31kb (7.34%)\n/_source/_assets/img/blog/featured/okta-android-bottle-headphones-light.jpg -- 665.62kb -> 616.98kb (7.31%)\n/_source/_assets/img/blog/featured/okta-ios-skew.jpg -- 760.80kb -> 705.36kb (7.29%)\n/_source/_assets/img/blog/featured/okta-dotnet-skew.jpg -- 696.32kb -> 645.69kb (7.27%)\n/_source/_assets/img/blog/featured/okta-java-short-bottle-headphones.jpg -- 686.56kb -> 636.73kb (7.26%)\n/_source/_assets/img/blog/featured/okta-java-skew.jpg -- 778.36kb -> 722.83kb (7.13%)\n/_source/_assets/img/blog/featured/okta-react-bottle-headphones.jpg -- 680.50kb -> 632.37kb (7.07%)\n/_source/_assets/img/blog/graphql-express/okta-node-skew.jpg -- 781.89kb -> 726.65kb (7.06%)\n/_source/_assets/img/blog/featured/okta-node-skew.jpg -- 781.89kb -> 726.65kb (7.06%)\n/_source/_assets/img/blog/featured/okta-vue-bottle-headphones.jpg -- 646.17kb -> 600.66kb (7.04%)\n/_source/_assets/img/blog/featured/okta-angular-skew.jpg -- 779.91kb -> 725.03kb (7.04%)\n/_source/_assets/img/blog/what-happens-if-your-jwt-is-stolen/magnifying-glass.jpg -- 23.62kb -> 21.96kb (7.02%)\n/_source/_assets/img/avatar-charlie-holland.jpeg -- 15.21kb -> 14.14kb (6.98%)\n/_source/_assets/img/blog/featured/okta-java-short-headphones.jpg -- 733.24kb -> 682.07kb (6.98%)\n/_source/_assets/img/blog/featured/okta-dotnet-bottle-headphones.jpg -- 672.20kb -> 625.47kb (6.95%)\n/_source/_assets/img/blog/webapi-vue-crud/vs-new-project-webapi.png -- 17.68kb -> 16.48kb (6.79%)\n/_source/_assets/img/blog/featured/okta-react-skew.jpg -- 801.55kb -> 747.20kb (6.78%)\n/_source/_assets/img/blog/featured/okta-php-bottle-headphones-close.jpg -- 718.03kb -> 669.73kb (6.73%)\n/_source/assets-jekyll/favicon/mstile-150x150.png -- 3.44kb -> 3.21kb (6.65%)\n/_source/_assets/img/blog/featured/okta-java-headphones.jpg -- 779.95kb -> 728.63kb (6.58%)\n/_source/_assets/img/avatar-william_dawson.jpg -- 632.66kb -> 591.46kb (6.51%)\n/_source/_assets/img/blog/build-crud-app-aspnetcore-angular/okta-login.jpg -- 42.86kb -> 40.08kb (6.48%)\n/_source/_assets/img/blog/featured/okta-java-bottle-headphones.jpg -- 877.41kb -> 820.97kb (6.43%)\n/_source/_assets/img/blog/micah_intro/micah_hair.jpg -- 97.87kb -> 91.75kb (6.26%)\n/_source/_assets/img/blog/featured/okta-dotnet-mouse-down.jpg -- 851.48kb -> 798.49kb (6.22%)\n/_source/_assets/img/blog/build-crud-app-aspnetcore-angular/okta-app-settings.jpg -- 53.02kb -> 49.87kb (5.95%)\n/_source/_assets/img/blog/featured/okta-php-bottle-headphones.jpg -- 771.63kb -> 726.10kb (5.9%)\n/_source/_assets/img/blog/vue-data-binding-approaches/vuejs_vuex_arrays_objects.png -- 60.60kb -> 57.07kb (5.84%)\n/_source/_assets/img/blog/build-crud-app-aspnetcore-angular/angular-cli.jpg -- 18.04kb -> 17.03kb (5.63%)\n/_source/_assets/img/blog/aspnetcore-login/okta-dotnet-books-quarter.jpg -- 659.79kb -> 623.19kb (5.55%)\n/_source/_assets/img/blog/blazor/okta-dotnet-books-quarter.jpg -- 659.79kb -> 623.19kb (5.55%)\n/_source/_assets/img/blog/docker-github/okta-node-skew.jpg -- 725.92kb -> 685.98kb (5.5%)\n/_source/_assets/img/blog/user-migration/frustrated-programmer.jpg -- 115.78kb -> 109.57kb (5.36%)\n/_source/_assets/img/blog/twelve-factor/stick-figure-thinking.jpg -- 115.78kb -> 109.57kb (5.36%)\n/_source/books/api-security/tls/images/SIGABA-labelled-2.jpg -- 59.42kb -> 56.33kb (5.21%)\n/_source/_assets/img/blog/oauth-device-flow-proxy/syfy.jpg -- 240.26kb -> 227.78kb (5.19%)\n/_source/_assets/img/blog/node-jwt/okta-node-tile-books-mouse.jpg -- 548.94kb -> 520.90kb (5.11%)\n/_source/_assets/img/blog/build-crud-app-aspnetcore-angular/new-project.jpg -- 74.88kb -> 71.23kb (4.87%)\n/_source/_assets/img/blog/laravel-postgres/image2.png -- 127.20kb -> 121.07kb (4.82%)\n/_source/_assets/img/blog/stolen-access-tokens/server-rack.jpg -- 549.14kb -> 522.83kb (4.79%)\n/_source/_assets/img/blog/build-crud-app-aspnetcore-angular/postman.jpg -- 62.91kb -> 59.90kb (4.77%)\n/_source/_assets/img/blog/firebase-aspnet-mvc/firebase-starting-database.png -- 17.28kb -> 16.47kb (4.68%)\n/_source/_assets/img/blog/new-dev-console/nasa-console-2.jpg -- 6,865.29kb -> 6,553.55kb (4.54%)\n/_source/_assets/img/blog/webapi-vue-crud/okta-spa-app-settings.png -- 36.88kb -> 35.21kb (4.5%)\n/_source/_assets/img/blog/episerver/VS2019episerverprojectready.png -- 265.07kb -> 253.42kb (4.39%)\n/_source/_assets/img/blog/spring-boot-jpa/app_user.png -- 134.36kb -> 128.50kb (4.36%)\n/_source/_assets/img/blog/spring-boot-single-sign-on-oauth-2/OIDC_SSO_1.png -- 20.56kb -> 19.67kb (4.29%)\n/_source/_assets/img/blog/node-jwt/it-must-be-true.jpg -- 30.90kb -> 29.63kb (4.11%)\n/_source/_assets/img/blog/stolen-access-tokens/looking-good.jpg -- 97.29kb -> 93.32kb (4.08%)\n/_source/books/api-security/authn/images/federated-identity.png -- 22.86kb -> 21.94kb (4.05%)\n/_source/_assets/img/blog/new-dev-console/nasa-console-1.jpg -- 1,617.18kb -> 1,554.82kb (3.86%)\n/_source/_assets/img/blog/aspnet-webforms/okta-client-credentials.png -- 15.20kb -> 14.62kb (3.85%)\n/_source/_assets/img/blog/sign-in-with-apple/sign-in-with-apple.jpg -- 522.81kb -> 503.09kb (3.77%)\n/_source/_assets/img/2015-05-08-software-engineering-design-principles-agile-cost-curve.png -- 6.95kb -> 6.69kb (3.75%)\n/_source/_assets/img/2015-05-08-software-engineering-design-principles-more_is_less.jpg -- 38.92kb -> 37.51kb (3.63%)\n/_source/_assets/img/blog/devrel-at-okta/newkingmakers.jpg -- 30.00kb -> 28.93kb (3.59%)\n/_source/_assets/img/avatar-laura-rodriguez.jpg -- 23.13kb -> 22.31kb (3.55%)\n/_source/_assets/img/browser_spa_implicit_flow.png -- 41.07kb -> 39.63kb (3.49%)\n/_source/_assets/img/blog/episerver/VS2019consolelog.png -- 406.06kb -> 392.02kb (3.46%)\n/_source/_assets/img/blog/welcome-aaron-okta/aaronpk.jpg -- 581.07kb -> 562.14kb (3.26%)\n/_source/_assets/img/avatar-tom-abbott.jpg -- 17.25kb -> 16.71kb (3.1%)\n/_source/_assets/img/avatar-daniel.jpeg -- 38.20kb -> 37.12kb (2.82%)\n/_source/_assets/img/blog/hotel-key-card/hotel-clerk.jpg -- 186.19kb -> 181.00kb (2.79%)\n/_source/_assets/img/blog/nginx-auth-request/nginx-auth-request-sample.jpg -- 184.56kb -> 179.47kb (2.76%)\n/_source/books/api-security/tls/images/tls-sequence-diagram.png -- 95.10kb -> 92.64kb (2.58%)\n/_source/_assets/img/blog/spring-boot-single-sign-on-oauth-2/OIDC_SSO_2.png -- 23.41kb -> 22.81kb (2.54%)\n/_source/books/api-security/tls/images/certificate-chain.png -- 74.56kb -> 73.09kb (1.97%)\n/_source/_assets/img/blog/vs-mac-another-try/vsmaclove.png -- 61.25kb -> 60.31kb (1.53%)\n/_source/_assets/img/blog/okta-wordpress-sign-in/wordpress-mfa.jpg -- 250.05kb -> 246.24kb (1.52%)\n/_source/_assets/img/blog/episerver/oktaredirect.png -- 237.92kb -> 235.38kb (1.07%)\n/_source/books/api-security/authn/images/hotel-key-card.jpg -- 292.30kb -> 289.30kb (1.02%)\n/_source/_assets/img/blog/user-migration/confused-stick-figure.png -- 20.24kb -> 20.04kb (0.99%)\n/_source/_assets/img/blog/vs2019/VS2019solutionfilterfullyloaded.png -- 99.43kb -> 98.58kb (0.85%)\n/_source/_assets/img/avatar-vrohilla.jpeg -- 34.15kb -> 33.90kb (0.75%)\n/_source/_assets/img/blog/hello-okta-dave/banner-drnugent-nasa.jpg -- 217.88kb -> 216.30kb (0.73%)\n/_source/_assets/img/blog/vs2019/VS2019codecleanupwindow.png -- 91.99kb -> 91.44kb (0.6%)\n/_source/_assets/img/blog/vs2019/VS2019solutionfilteropen.png -- 122.22kb -> 121.51kb (0.58%)\n/_source/_assets/img/blog/vs2019/VS2019solutionfilterunloaded.png -- 142.79kb -> 142.00kb (0.55%)\n/_source/_assets/img/blog/oauth-device-flow-proxy/teradek.jpg -- 65.06kb -> 64.74kb (0.49%)\n/_source/_assets/img/blog/vs2019/VS2019decompiledresource.png -- 165.84kb -> 165.06kb (0.47%)\n/_source/_assets/img/blog/episerver/episerverauthenticatedpage.png -- 302.71kb -> 301.58kb (0.37%)\n/_source/_assets/img/blog/vs2019/VS2019codecleanupbroom.png -- 105.06kb -> 104.68kb (0.36%)\n/_source/_assets/img/blog/user-migration/run-a-test-migration-again.png -- 30.41kb -> 30.31kb (0.34%)\n/_source/_assets/img/blog/vs2019/VS2019solutionfilterbetter.png -- 235.47kb -> 234.67kb (0.34%)\n/_source/_assets/img/blog/vs2019/VS2019solutionfiltersaveas.png -- 242.43kb -> 241.71kb (0.3%)\n/_source/_assets/img/blog/twelve-factor/stick-figure-officer.gif -- 6.90kb -> 6.88kb (0.3%)\n/_source/_assets/img/blog/vs2019/VS2019solutionfilterloadall.png -- 286.54kb -> 285.84kb (0.25%)\n/_source/_assets/img/blog/user-migration/find-your-data.png -- 48.65kb -> 48.55kb (0.21%)\n/_source/_assets/img/blog/vs2019/VS2019codecleanuprun.png -- 228.92kb -> 228.45kb (0.2%)\n/_source/_assets/img/blog/java-i18n/duke-world.png -- 130.10kb -> 129.88kb (0.17%)\n/_source/_assets/img/blog/iterate/iterate-main-stage.jpg -- 55.83kb -> 55.77kb (0.1%)\n/_source/_assets/img/blog/iterate/iterate-nate.jpg -- 55.90kb -> 55.84kb (0.1%)\n/_source/_assets/img/blog/iterate/iterate-staff.jpg -- 61.48kb -> 61.42kb (0.09%)\n/_source/_assets/img/blog/iterate/iterate-alex.jpg -- 62.75kb -> 62.70kb (0.09%)\n/_source/_assets/img/blog/iterate/iterate-group.jpg -- 68.45kb -> 68.39kb (0.08%)\n/_source/_assets/img/blog/iterate/iterate-jeff-atwood-book.jpg -- 69.56kb -> 69.50kb (0.08%)\n/_source/_assets/img/blog/webapi-vue-crud/weight-tracker-running-home.png -- 27.14kb -> 27.11kb (0.08%)\n/_source/_assets/img/blog/iterate/iterate-attendees.jpg -- 79.05kb -> 78.99kb (0.07%)\n/_source/_assets/img/blog/iterate/iterate-front-wall.jpg -- 79.42kb -> 79.37kb (0.07%)\n/_source/_assets/img/blog/iterate/iterate-google-home.jpg -- 80.30kb -> 80.25kb (0.07%)\n/_source/_assets/img/blog/iterate/iterate-fun.jpg -- 81.79kb -> 81.73kb (0.07%)\n/_source/_assets/img/blog/iterate/iterate-zoltar.jpg -- 87.25kb -> 87.19kb (0.06%)\n/_source/_assets/img/blog/iterate/iterate-jeff-atwood.jpg -- 87.31kb -> 87.26kb (0.06%)\n/_source/_assets/img/blog/iterate/iterate-evolve-agenda.jpg -- 101.56kb -> 101.50kb (0.05%)\n/_source/_assets/img/blog/iterate/iterate-build-agenda.jpg -- 104.07kb -> 104.02kb (0.05%)\n/_source/_assets/img/blog/twelve-factor/confused-stick-figure.jpg -- 18.14kb -> 18.13kb (0.02%)\n/_source/_assets/img/blog/twelve-factor/stick-figure-beard.jpg -- 25.87kb -> 25.86kb (0.02%)\n\nSigned-off-by: ImgBotApp <ImgBotHelp@gmail.com>","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/433f02d1ea4b9028e111138afc574933b37b7ade"},{"sha":"d5c395f083929da0a2abe16cac94278f9d9c5a48","author":{"name":"Matt Raible","email":"81b74d83dc5b3c08952d0be742fda4e1abbed722@okta.com"},"message":"Jimena ELK blog post (#29)\n\nJimena ELK blog post","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/d5c395f083929da0a2abe16cac94278f9d9c5a48"},{"sha":"c3276f7c47618274c2f9ca5163f36a4e8726d8ee","author":{"name":"Matt Raible","email":"81b74d83dc5b3c08952d0be742fda4e1abbed722@okta.com"},"message":"Fix typos in ELK Stack post","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/c3276f7c47618274c2f9ca5163f36a4e8726d8ee"},{"sha":"88ebef92378b7b8ffef0a5c84bac95f9f79ae94b","author":{"name":"Matt Raible","email":"81b74d83dc5b3c08952d0be742fda4e1abbed722@okta.com"},"message":"Fix typos in ELK Stack post (#31)\n\nFix typos in ELK Stack post","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/88ebef92378b7b8ffef0a5c84bac95f9f79ae94b"},{"sha":"b9caa4ced72d3f4053c95f10d3838790c8ee55dd","author":{"name":"Matt Raible","email":"81b74d83dc5b3c08952d0be742fda4e1abbed722@okta.com"},"message":"Merge branch 'master' into imgbot","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/b9caa4ced72d3f4053c95f10d3838790c8ee55dd"},{"sha":"5486d052e1f055bdce05920ad285c1eb3c43adf1","author":{"name":"Matt Raible","email":"81b74d83dc5b3c08952d0be742fda4e1abbed722@okta.com"},"message":"Embed Asciinema instead of linking to it","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/5486d052e1f055bdce05920ad285c1eb3c43adf1"},{"sha":"51c885071f8e1701d272074cb5c39bc0286c47c8","author":{"name":"Micah Silverman","email":"45b9372d3d6883e588eb18cca37878d6aa2d5cd5@afitnerd.com"},"message":"Merge pull request #32 from oktadeveloper/elk-aasciinema\n\nEmbed Asciinema instead of linking to it","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/51c885071f8e1701d272074cb5c39bc0286c47c8"},{"sha":"66adafb24604562ce7691de25dc66d8c98fadc72","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"Add post build-a-crud-app-with-jsf","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/66adafb24604562ce7691de25dc66d8c98fadc72"},{"sha":"c4ab69d2a6b54a52534009522fd639d5c7b6291f","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"Update _source/_posts/2019-09-27-build-a-crud-app-with-jsf.md\n\nCo-Authored-By: Matt Raible <matt.raible@okta.com>","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/c4ab69d2a6b54a52534009522fd639d5c7b6291f"},{"sha":"2998db12f1c3454d02bc3c9b12b54619b9e9772f","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"Update _source/_posts/2019-09-27-build-a-crud-app-with-jsf.md\n\nCo-Authored-By: Matt Raible <matt.raible@okta.com>","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/2998db12f1c3454d02bc3c9b12b54619b9e9772f"},{"sha":"6910016f3fcd23549b22a0936aa48ebee05da7f0","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"Update _source/_posts/2019-09-27-build-a-crud-app-with-jsf.md\n\nCo-Authored-By: Matt Raible <matt.raible@okta.com>","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/6910016f3fcd23549b22a0936aa48ebee05da7f0"},{"sha":"07e4f93dd6a26714c34bd7dc93d83aa838e06730","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"Update _source/_posts/2019-09-27-build-a-crud-app-with-jsf.md\n\nCo-Authored-By: Matt Raible <matt.raible@okta.com>","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/07e4f93dd6a26714c34bd7dc93d83aa838e06730"},{"sha":"c744ab2e6d6c8fb84888f6fed49c2a840911ce23","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"Update _source/_posts/2019-09-27-build-a-crud-app-with-jsf.md\n\nCo-Authored-By: Matt Raible <matt.raible@okta.com>","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/c744ab2e6d6c8fb84888f6fed49c2a840911ce23"},{"sha":"da9d77e9ca9b9b01bd271c2a7a30757d9f147835","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"tweaks based on review","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/da9d77e9ca9b9b01bd271c2a7a30757d9f147835"},{"sha":"6f182dbc1b203219cc895dcf7ffab3f9b0759ba4","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"tweak post title and URL","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/6f182dbc1b203219cc895dcf7ffab3f9b0759ba4"},{"sha":"36891e40e8664f0e7e5672245e7d9482c7c9bc09","author":{"name":"Brian Demers","email":"b26f3260334f5668bf05acdd8854407593be54e3@apache.org"},"message":"Merge pull request #33 from oktadeveloper/jsf-tutorial\n\nAdd post build-a-crud-app-with-jsf","distinct":false,"url":"https://api.github.com/repos/oktadeveloper/okta-blog/commits/36891e40e8664f0e7e5672245e7d9482c7c9bc09"}]}
{"actor":{"display_login":"mraible"}}