hey guys, I have a small question regarding a dock...
# docker
w
hey guys, I have a small question regarding a docker/sdk setup: In the store .env files, docker/sdk generates
SPRYKER_OAUTH_KEY_PRIVATE
with
\n
replaced by
__LINE__
, see also method
buildSecrets()
of the
docker/generator/index.php
- my question is: If we pass this directly to Spryker with an entry in
config_default.php
(taken from b2c demo shop):
$config[OauthConstants::ENCRYPTION_KEY] = getenv('SPRYKER_OAUTH_ENCRYPTION_KEY') ?: null;
then this
__LINE__
stuff will be still in the string, which will lead to that string being finally passed to
\League\OAuth2\Server\CryptKey
, which in the constructor doesn't match the RSA_KEY_PATTERN anymore (because it expects an actual linebreak). How to solve this? Is this expected to be like this? It looks like a bug. My proposal solution:
str_replace('__LINE__', "\n", getenv('SPRYKER_OAUTH_ENCRYPTION_KEY') ?: '');
in config_default.php instead of the aforementioned. Thoughts?
h
Hello Rene, You are right. The docker/sdk feature is quite new and won’t be integrated in 202009 demo shops. The code will be like this:
Copy code
$config[OauthConstants::PRIVATE_KEY_PATH] = str_replace(
    ['__LINE__', '\/'],
    [PHP_EOL, '/'],
    getenv('SPRYKER_OAUTH_KEY_PRIVATE') ?: ''
) ?: null;
$config[OauthConstants::PUBLIC_KEY_PATH]
    = $config[OauthCryptographyConstants::PUBLIC_KEY_PATH]
    = str_replace(
    ['__LINE__', '\/'],
    [PHP_EOL, '/'],
    getenv('SPRYKER_OAUTH_KEY_PUBLIC') ?: ''
) ?: null;
$config[OauthConstants::ENCRYPTION_KEY] = getenv('SPRYKER_OAUTH_ENCRYPTION_KEY') ?: null;
$config[OauthConstants::OAUTH_CLIENT_IDENTIFIER] = getenv('SPRYKER_OAUTH_CLIENT_IDENTIFIER') ?: null;
$config[OauthConstants::OAUTH_CLIENT_SECRET] = getenv('SPRYKER_OAUTH_CLIENT_SECRET') ?: null;
w
Hi @high-pencil-62400 thanks for the info, that helped a lot 🙂 have some nice holidays 🎉