Skip to content

Commit

Permalink
Replaced and extracted credentials to env
Browse files Browse the repository at this point in the history
  • Loading branch information
rtheunissen committed May 12, 2015
1 parent f3bd0d4 commit 682f005
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 50 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
vendor/
composer.lock
env.json
.encrypt
.DS_Store
28 changes: 21 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
language: php

php:
- 5.4
- 5.5
- 5.6
- 7.0
- hhvm
- 5.4
- 5.5
- 5.6
- 7.0
- hhvm

install:
- composer self-update
- composer install
- composer self-update
- composer install

env:
global:
- TRAVIS=true
- secure: oAZ2tn0SMlESPsMTiYPRwVhFid877IZGhC1wf0RtC9F0xIAOrucUf374IHpGL7DfV8Lmt7gfNsqjbc1nDkrQkGCzrF66Cyu5jiv+ELa8sNvw1pr4xJV7EeegN26E6XYdEbi8+GrlmVluxVstNI5et2HJdTmZXMMz8o0buzMKK+Na+8prLttVik+pixXl9mSY2v27Bs/4YceTQm1hbSwL1oz6XKtkhCYIsbTjBZtJTUTBrNP7PS1NZTJYVjNnpcfubMqGS8MoGdwEWxoDsbgxjH64IwTqfOJtvdqN0PQ+0JMx93UtECIwfuFTyIPMORY0fRy1+hfX6msKf9lQNa8iyAnzTAn5b9L8XgWLPVAgnZk+Fx6sEnsJNrEuWA0tZRZnEmiqwqNsk/41I2M4P20C5kIDeW6/qo/SM6AeAq4I//h41L4sIyhTp8Bj2ADkGimvoP8LlGiZBdfeX9otFHThqqA0P0fac/IGE4wicWvEj90qgUyZrTWSKKae54ahi112K8B7fGD8KZ0+Yzh45Y3ad8Ktffun8GE2Pa8tdLAXrbwsqeZDmDUUkzN89LQRdHWVTvH6WgOUqQc9B+fWZYzrWlpOBd4nfVAmyUaIuT0Mjafq29D25Iykd1P0NuyEJ9tOkg5W+n53afmmjm9vWgbgenYwBiwysaCPY8uWIUljsQQ=
- secure: P4e1UW0hJMtLs6opxyZ2Vv8CHIjp3Q6JK08BsCmIABWC+nKAJ9svhsxe9738+v62DtGpDbUcnIv0iena8f9k0OXFgdDOMD1xNmnu6rTz5tfu4lP4hThQdB4kQH5wwOi2+kVp/k2v+xP/BJ2/fjfMgGHPyMamx/1wKw1ZTFmQLTrYxfmKuqAy4OvGjXHxgk1GC5CTauBZsFIhjtDB6OiE1DylAKZ3XcnIhk64oclYJXUkSM/iaROiA3qm0uVgi8hPHpITEGghKF8bYRipOg6ifpa1njnD1ds1XCJu47qfncAq8zs+VGmSkJ4eMjjOedsQ4G2LElvQZAOJSHjBtmgLj7ZmvjS3rWxxhe/Iw9x/diCHjabfxtdoD2IJFXcOiEkiZShiwqC0hL22u3xzb/IvEppmNq/Nc/JYIQVOeMR/xiGTcPbKouI8NBcCJ2rHJfGfV32qjxUfJPX3E4dLG4GDdTGo6vFqybLDAT1CsY72z636EZrXhgzlViUDOk9GjDOWDxZJMhNeMWaohxvrYOWEalhDcX9eC+1yGUJA4VfAdCrdecHN85nHKHx1FgQSbqN24H+qTObEzDrlbL0/aVF6BijQrYfy+AWlULvo9zKidHMni3kDkO8jriDlFBs6jOfm6ndgMXElgN8GRcLzKTRoxcD9vsApBWIhZb5VgcrpcKw=
- secure: n+RNlqGbmEQmGOGgmYR370Vu7etpjFc34Ja4RUjP+K/1k58HeZWA2nhjra512Cs/eQxNK+2CDQNd9AnsUFh1BR+5pIRIjUkfduBWaBV2KYZJE7y2er48bZEf+J+ZGo78BN2PVwpkGdiHsJvhjU/eybmMI4pC1YZSNYpd9Bs0vrDdzFC8f0VHvvDsEf+EWKhk1E63TTqdRmK1cczhYwlPZSw+KW6HCc/neV5FXM4d+pT3A87sAjmN990CCSZjvqRhJTTKbWx/hVXNqAVLLeeyKcSMA9jn5LCTFsSwKBA2hTtvKz0DqaJ/nEoAoz3SHl/6TtJQR3Xzcz/g6zxOWPovkviqsDzeP9uiyd0mU6agmqT9TC5+f9v+4rIMGpZkGjuipdkUc+qrgWLACDzg1N6a6vFnpF5Z5cevB+hpajSFzbSCPXn9cnwz4hPlvUCFKh4f+B04PvBVEu9XUUFNvZ8RljYA5Lm9Szmw14+DdFScIvo5pzk3OWJLc1SqBlYOTZYdQ7TG6A+MsAQGFj7oeVnM3LhpNKOsnf24ye2OWC6qxgQko14hLCEEk5/n9Spi5jzSbDy8HJT05mYORaIbrBxGxSu5/5nJ076bnHaOx2bDeR+WXPpdf/LMZMbIs50aAXVqjHF9pfirhXw50VLtprTx5NRIwYApzhOFP0bhPne83ro=
- secure: Tnt6T8riiC+yiQNVkxdlsx4Iu4+Y1Ek+WO4pKFigtmqwSXmi/SBgfMZdRhWsJ9PBKNLcP0zN/IxhZUqQRsU+t2zL0pTmxjv43wc7dLqG5zERHZpKyO7KkjQFSo9t2XHZkQNKTBqg0tAAZyE6acIFNaW7ZDdZ23TmIOR25uYWDJCWmZiLPdTYj/hQOvaTQdrFZtm5qS/ic9lng0y5M5yHddz8gPrx7M/aw5134/blutDCcrb9ePvtHM18eQyKG4U9cmGAjliSC91dVG+/GutC5SQ/FgLwSP9GazfM/6vOx5uCOhlMAmeGt7/Fx7YzBQ1A3qj36uWqz2i/+Q0De72/BuJ7mkVyqlslXFubEHCi1alt3taeBVEUB9aaLj04ho6zz+Y8H+JAWp0+Qfn0KofVOPCheP5oSEAr9woFuT2r/0QfIGbfsBfWqZoW2uCnXbtk6Y+jujJNzRCv6HXg6ZxG/F91AvCwTKgf9kWwQn4xxownhGsEmjsw4FIve3PEGEKM5nSnxzY7WQDIYyTqQ9sHLD5dVoO0VM1dzK6FLPZiJleDhUM2IHT2b7Z9MGl0OQ0u4UileejT5Us8AIfPV2uwEMwyafwU3GCPliVme16X8IU2HAiVQlBiRBPjUFo7PtQzoVeU+rv/6aPwlHoCW6cV7/HKZcPss9h3GccyFzjSzTE=
- secure: nvclXjQzGUn0oqBstXC1QS4GOD8F0H+Oxao5C8BPAyI+kgZIev1OygEa+qckLY/2WyGN+bAwLnOTXBLGe7aBgQxV78J/RiLKGnf8csdAOihV41KtxbOqSa+uhFrrI1WydWT9PvugEivnGVUGdnai6y44eYvXmoWL5lN6ouH9FXesE+tNvubmDL8wAwLaRwOEyGGgYU7Oy9lGw/XDqzea2wPb92TPfRPdblHm5e99hFg51sQMD9tbt0M5w1KCyEBSqLrlwtK1bzKzAyiBHgZRTLhJpu3xUW/mN2AlJZ11Gfn/BVf7Tylgn9ZU1TILECqMbcm+s0naN4wl3ROvXLfgG1voAurBLI/yDIqZufi/JPLEuN+UvGNn3N/0rIyh8lIVwoMnmkGj88Y0HNtK9GioNgNyIpdi+PJ85JkT5s0YhzUQ2FV98G1ktT7jUUb7v6E6m9b+LjBr2G0oty8CGQXVFobymkmzS5c9k4n6EcCrXiWD53KkmG8iMQhAqdoj+MjThnUO58fxRXyd8TTG5z16nkJZb88pfhY7rF74EjcOBQc+ZJ3FCu1gETkYpbVDH2epEVBahyws5kY7Q5Yk49jYE0huedRJoOp5OT/a2ZzqZY8deILUFiZKSvg4wTeRUJUS5r+rHkUciV/CEJjRkjwpn+pGvrQsBHeedoN1rv4pp4g=
- secure: Xp3rNhijs4LDYoYDVFvDtvHV1WlbKlX1ygZK5bUOKMBnt1XTxwOLc4l0fMQb9j6gOKLkPg4fY1qbkwgHZcEupIISZhELJ9rr9KG2URsx+sVO5OAI/4ni2yAMQVoJ4wIHhDr19ueEiB7hlS6cvLc+o+wlY9PnDHOBD2iN+XNf5yyVo4jPXvRALeDYSmFH2fVv3ezcsr3/l6fddf0HjFwnUEOO6zu01rba7I4afYHT0VvcoOQB+WWFJQQHixTUDfgMaYFxHilAI8kgtELno3YoFZ4BjutwCJ1SBR/QGhd9qusDTg0zDkbX6QDf9RmfbMZjHr1EEJx2e6cLwKrnx5m+8S8iD9LoDS0Xdsk8LTUhZrSrTmlYiQ9HW2HHwiPvlyMQKGDnmSPFHjxawIq0kKvlOjwZMb8OGy5QLbwxWoeuQFPbLp0mQLnMKvBqa7onGKz0quEPZbb4C1v1L/Lr6tLiC4YLuBiLFd5lYuyOiYtbbGYt1oon51TPdzpYijLYeIrZWh7e2Q9N9LBxqN7ghcSWANUqemebkYXxkIWfzAAb6NvPV6dxTLgp8PKBmu+EFLiMoTv5kMd3AdISkoFAGUNELYG5/ZTzYzcL3Ril7CdttJ7blof5h02LO0Bj4kdwEi8otxa3aHL7AIbUzBr1TxF99dR5hhi9gDvh73wvydFwTHU=
- secure: olHkQ3frZsocHdvbTcrD92t9r3MN3GG1chFZGyAUDyThobj4wJcEq1FFVV+i96LfGx13aRbZMnKhh3ngXz6zafZpEiz652RmSz7TvF5r1uAPDPkwKw0/opSXaHVe3349py5PL+09SMKCS5ka5vqAUzGr3JOdIrt/OxCwZg3c4knHiiXSEtncxDjP9vvKEaRUFFPQC/hUbO0PxdEI4zRYVgLskYAFI85QSXz/GCt9vVevZXRvCvEL/K9foINHa8kK64tcuxwMi7d8tiZwiIAnx0ED9yKq8VPTDUOijlZY2z3V3dYG+mInoJqlSDMSucc0wySphd/HK8Qs5PotzijvNlONlYSXY+OpzWD6akMVuxW9gJFv1u8Ix4u4/zaF88LFUwBI9jClU98Up7UiUMWxuSlwSWiNWiur24fYXwnPJ/bcSKDqcmRzGy3+MbDDtBXtepn0W8mUvXB4brPaLWvdJ0yX0RuNa6smncnNTL2zJ3AcxWRyskolXEcEgtjmg23CNCeamgH7OfmP2UEdPI8ZvWzxgaRSUuMI2honvx7qP4dpXQlHxFQWDX+UrERsfMjjYabALPhFbhNKSR2b7WJ4B4j37J+N9owGHFB5sGndR+cbQwTfG5PmRDJ6cpuA4MajuXV9025wvnfrwOX6lqiRlcTMPLsrQy1FN3L8yIu/JcE=
- secure: HVdMLYFKPLboI5Hrngx71fS5LUVASDEGkZ0XeUhxqu1Nqgn3t6tmBISU5y+Iltfe7xYKjpr+C1jNzDy3AWAXvHjU7AZCsPDXwoVppCf5GSY8Iz+qD0Z56TElKNRBqjpZqZdCGZk+rcCBfQcD/IAULmMiqjkDtdKRfx49PnHr9DcdSgF0u/5RcOshZ9P03Ce3o3TgkdG/QxJmptDSkCCDIJWQWaRmwEkcZWdcWXFwv5himXPTWvdS3sEt3/wHr7B768kOe8gc6Ag7wCXUi6AUnxBjvCC/RvaQ74WXRz/LNlUER0ejgStmgfL27HjYYgr3GzYfKUjyBGuBCyUB/pNehTW6vsVS1JJ06HY23oTLTxeV+EX1/NVnUx9XjXLkFBtb1mc1FwkkfCdqGOezgCDKdQ0A5IFd7kIandKpNbQymYQQ9O2ulxMJ+lbPoAmsC9/9Az1g+R+9jTMZNFKk8jP8mtoZYKxbyzNcfcGTFFYEgoJnFBCTZH0b7P9UtXmRk47ae5TwUghXaibTvcSnm4kIl0of8Z3kO7/TVKeH38fu/cKipTBmjzU1755wE9Jm/IQcEP2IcvUcANBo8lIaW2TfkdHEtGVfU+ZjC3DhIhdmYChQ1tZurPd7Ktm4oxm16EX00fXodRf7M2GvOXiqM7Bgb47n3iUU1L1B0WTyuy8qpOQ=
- secure: TXECkepB/b2Uj+d36KsTN1onAdjUD1KRc+KKz18PubbAQUW2XSf+RqSo7Q+wx2+EB0pp+NTGE11eMmIND5PgGTCm0zrtrn3bynHQMjEdUQ+lxz2fONSxHscEJd1lXnCAmXyxso2OFICMxVRu/jNSYg0+bQSvei0BVJ/6RiQJw+8sPTgqr+rUPHTTDbUCpH1gjHF8Q7gFLiMy/hN+NdHvkULrFFEiAndFfDAlwJ6ckDL1vTSxfYuHCdqm5wBfNNW3XwlfwktcCL/tbJvx/LeQi/M6YmRwndgP9YIZMb18WaOXB2S4JbcMNmrg15bKESRhenUkseB+cwk6q89k31tE6D5eB32r9dP4PTQvP3pqRBQ+j1vzvc4DiJlQyPfsA09Ff1AqrLxdEJUPr3eggL4yKQfaBMpZRhcRyEfCekwByE0yo55zDcU2Un/T5Bue/sb6fPq8ynHZOGcSki8GENsxpr2o08xNpzUwqUYoq6eIq7iFXkw9CrmWmev+18+GK2mK4ZP3nFtS1LYKkzDsX1uzLQATTIwZduif8e/Z337/UCCBWkeq1mW3wEgBJAqJZgcCPop7TX0ZdK32cr+YBxZU69zLi+ZEmYnttcwJcVjzAlIIz3udwpr+vA2D0LpLKJPL9GXoT+pEs+kMXA8pJe1gEB3E8PGEV+CynhoEI5zpKt0=
- secure: QwmcydNjQc3D/DGfgqViH3Wv8OiNopF4uH/P4qvtweIXLiiAbX1ob8XVpRVEGEWIV4YoKCNDnMh1dbrW9lLSwE7V9aNTbl5jtHiS+kxWj393DOTWhWcs3Dudng4rMqu3jIUvkneiASx+Kc1gAdMVU4A+1KpnQ59Ccgyuzk12MFvf7lQKtQHyPOHg+1CO14URH4W3ZYHzGSuMt6tAqARHJngfavY3uG7nhNrJkeaNSaXtcP6AcgCT8+pf04c7QGPxlUq4tKvN6fa0nwd4GR3ssj3hwEfxuEnHjCtQsBvzwdUuxvGoZ1FIFsmOxdySpdcQ6VAbFNzSYhb7kw1U8n5TYPZxBVOPVoy9SIbrVjpanj9l/LKkFpLl1LXayZ2JznoR2vI55aZRFodiddXxRapEyqMM8BUtI8la7jn5+6Sb0CKLVrwgJhwjE8nFfuZrqjqAbnpjV3rCktiMw+XANgydDg0DGhFAjUCBpvRR4KOuLCrQ31KMniLSFPNAw9JV9L0ayEPBjLVTHi08v4JaVPOSMOH8Gz6qUTz+CoggodT5ojqxl39xvytubDrtZiEW6cNXARonSJ6rFG0eMRIiGkSKlBnpYMf284F2ayJXYBcHmZV/8UleHW+637LYx1+nhRfVh7e630gVfWCHZIOWxfXEv4E5Q8AMPaffffPe4NQ+jmk=
20 changes: 11 additions & 9 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
{
"name": "rtheunissen/oauth2-reddit",
"description": "Reddit OAuth2 provider for league/oauth2-client",
"license": "MIT",
"authors": [
{
"name": "Rudi Theunissen",
"email": "rudolf.theunissen@gmail.com"
}
],
"require": {
"php": ">=5.4.0",
"league/oauth2-client": "0.11.*",
"league/oauth2-client": "0.11.*"
},
"require-dev": {
"phpunit/phpunit": "~4.0"
},
"autoload": {
"psr-4": {
"Rudolf\\OAuth2\\Client\\": "src",
"Rudolf\\OAuth2\\Client\\Tests\\": "tests"
}
},
"license": "MIT",
"authors": [
{
"name": "Rudi Theunissen",
"email": "rudolf.theunissen@gmail.com"
}
]
}
}
58 changes: 24 additions & 34 deletions tests/Provider/RedditTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,47 +16,37 @@ private function getBaseCredentials()
];
}

private function getCredentialsFromEnv($type)
{
$credentials = [];
foreach ($_ENV as $key => $value) {
$prefix = "reddit_$type";

if (strpos($key, $prefix) === 0) {
$credentials[substr($key, strlen($prefix))] = $value;
}
}
return $credentials;
}

/**
* Please note that these credentials are for test purposes only
* Please note that these credentials are for test purposes only
* and don't belong to a proper application. Therefore it's okay
* to specify them here out in the open, where it would obviously
* be a very bad idea otherwise.
*/
private function getCredentials($type = 'web')
{
$credentials = [

// Confidential clients (web apps / scripts) not acting on
// behalf of one or more logged out users.
'client_credentials' => [
'clientId' => 'ospXZGFbJBbzmw',
'clientSecret' => 'zskgYfF2VekUSEnr-OM3BVj2TE4',
],

// Scripts for personal use with username and password login.
'password' => [
'clientId' => 'ospXZGFbJBbzmw',
'clientSecret' => 'zskgYfF2VekUSEnr-OM3BVj2TE4',
'username' => 'oauth2',
'password' => 'password',
],

// Installed app types (as these apps are considered
// "non-confidential", have no secret, and thus, are
// ineligible for client_credentials grant.
//
// Other apps acting on behalf of one or more "logged out" users.
'installed_client' => [
'clientId' => 'lIlSPFknwHOTCg',
],

// Standard web redirect flow -- which sadly we can't test here.
'web' => [
'clientId' => '5OactXQ9n4qqmA',
'clientSecret' => '75_bUPzaR_Hc3AXwwpXmzFvOAtw',
'redirectUri' => 'http://example.com',
],
];
$env = __DIR__ . "/env.json";

if (is_file($env)) {
$credentials = json_decode(file_get_contents($env), true);
} else if (@$_ENV['TRAVIS']) {
// get credentials from env
$credentials = $this->getCredentialsFromEnv($type);
} else {
$this->markTestSkipped();
}

return array_merge($this->getBaseCredentials(), $credentials[$type]);
}
Expand Down
23 changes: 23 additions & 0 deletions tests/Provider/env.example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"client_credentials": {
"clientId": "",
"clientSecret": ""
},

"password": {
"clientId": "",
"clientSecret": "",
"username": "",
"password": ""
},

"installed_client": {
"clientId": ""
},

"web": {
"clientId": "",
"clientSecret": "",
"redirectUri": ""
}
}

0 comments on commit 682f005

Please sign in to comment.