📝

AWS re:Post で別のメールアドレスの Credly 証明書をインポートする方法

2022/09/14に公開

最近 AWS re:Post にも出没するようになったのですが、せっかくなら AWS 認定の証明書をインポートしてポイントを稼ごうと思いました。
ところが、別のメールアドレスの Credly 証明書をインポートしようとした際にエラーが発生したので、解決手順を紹介しようと思い、この記事を書くことにしました。

発生したエラー

Could not verify recipient, your verified email address in re:Post must match the email address attached to the Credly certificate that you are importing
受信者を確認できませんでした。re:Postで確認されたメールアドレスは、インポートするCredly証明書に添付されたメールアドレスと一致する必要があります。

上記は、re:Post の Email for notifications で指定したメールアドレスと、Credly の証明書に紐づけられているメールアドレスが違うことで発生するエラーのようです。

解決策

re:Post で、解決策として一時的に re:Post のメールアドレスを、Credly の証明書に紐づけられているメールアドレスと同じアドレスにする方法が紹介されていました。

Can’t add my AWS certification Credly badge in re:Post | AWS re:Post

re:Post のことはやっぱり re:Post で解決できるあたりが好きです。(笑)

実施した手順

実際に私が実施した手順を紹介します。

1.Credly の証明書からバッジ ID を確認
Credly にサインインし、バッジを選択 → 「Share」→「Public Link」をクリックします。
表示された Badge URL のうち、以下 {badge-id} の部分がバッジ ID です。

https://www.credly.com/badges/{badge-id}/public_url

2.Credly の証明書に紐づけられているメールアドレスを確認
以下のコマンドで Credly の証明書に紐づけられているメールアドレスを確認します。
curl コマンドの {badge-id} の部分は、1 で確認したバッジ ID に置換してください。

curl https://api.credly.com/v1/obi/v2/badge_assertions/{badge-id}

上記コマンドを実行すると、以下の JSON を取得できます。

{
  "@context": "https://w3id.org/openbadges/v2",
  "badge": "https://api.credly.com/api/v1/obi/v2/issuers/xxxxx/badge_classes/xxxxx",
  "expires": "2025-05-13T00:00:00.000Z",
  "evidence": [],
  "id": "https://api.credly.com/api/v1/obi/v2/badge_assertions/badge-id",
  "issuedOn": "2022-05-13T00:00:00.000Z",
  "recipient": {
    "type": "email",
    "identity": "sha256$xxxxxxxxxxx",
    "hashed": true
  },
  "type": "Assertion",
  "verification": { "type": "hosted" }
}

続いて以下のコマンドを実行します。
{mail-address} の部分は、Credly で使用していると思われるメールアドレスに置換してください。

echo -n {mail-address} | shasum -a 256 -

上記コマンドを実行すると、文字列を取得できますので、取得した文字列と、curl コマンドで取得した identitysha256 の値を比較します。

もし、値が一致していれば、echo コマンドで指定したメールアドレスが Credly の証明書に紐づけられているメールアドレスとなります。

値が一致しない場合には、別のメールアドレスで再度 echo コマンドを実施し、値が一致するメールアドレスを探してください。

3.re:Post に AWS アカウント情報でサインイン
4.re:Post のメールアドレスを変更
右上のアイコンから「Settings」をクリックします。
Profile 画面で「Email for notifications」のメールアドレスを、Credly の証明書に紐づけられているメールアドレスに変更して、「Update profile」をクリックします。

5.変更したメールアドレスで承認
変更したメールアドレス宛に、「Please verify your email for AWS re:Post」というタイトルでメールが届きます。
メール内の「Verify Email」をクリックして承認します。

承認が成功すると、以下のような画面が表示されます。

6.Credly の証明書をインポート
ここまでの手順で、Credly の証明書に紐づけられているメールアドレスと、re:Post で使用するメールアドレスが一致した状態になります。

この状態であらためて Credly の証明書をインポートします。
証明書のインポートで必要な URL は、1 の手順で取得した「Public Link」です。

Public Link を re:Post の「Your Expertise」から追加します。

Credly と re:Post でメールアドレスが一致していれば、インポートに成功するはずです。
ただし、メールアドレスの変更直後だとインポートに失敗する場合もあるようなので、その場合は 1 日程度経過してから再度インポートしてみてください。

Can’t add my AWS certification Credly badge in re:Post | AWS re:Post

I went the other way - I updated my Credly email from my personal account (as I had some certs prior to AWS) to my AWS email (which I use for re:Post). Waited for an overnight update, and it worked just fine today.

7.re:Post のメールアドレスを元に戻す
re:Post のメールアドレスの変更は、必要に応じて元に戻してください。
元に戻す場合は、re:Post のメールアドレスをもとのメールアドレスに変更し、再度メールから承認するだけです。

メールアドレスを元に戻してもインポートした証明書は消えませんでした。

Can’t add my AWS certification Credly badge in re:Post | AWS re:Post

Also worth noting is that changing your Credly default email address will have no effect on the certificate. It seems to be hard coded into it.

以上が re:Post で別のメールアドレスの Credly 証明書をインポートする方法です。

re:Post での AWS 認定証明書のポイントについて

余談ですが、re:Post では AWS 認定によって加算されるポイントが決まっています。

FAQs | AWS re:Post

スペシャリティだと 100 ポイント加算されます。
また、個人的にはプロフェッショナルやスペシャリティを持っていることで、回答の信頼性への影響も多少はあるかと思っています。

そのため、AWS 認定を持っている方は、ぜひ re:Post 利用時には証明書のインポートをご検討ください。

まとめ

今回は AWS re:Post で別のメールアドレスの Credly 証明書をインポートする方法を紹介しました。
普段 re:Post を使用している方はあまり多くないかもしれませんが、参考になれば幸いです。

参考資料

Discussion