{"action":"created","comment":{"url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments/218198473","pull_request_review_id":156083534,"id":218198473,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxODE5ODQ3Mw==","diff_hunk":"@@ -1756,6 +1757,12 @@ def get_static_policy_definitions(scope=None):\n                 'type': 'bool',\n                 'desc': _(\"If this checked, the administrator will not see \"\n                           \"the welcome dialog anymore.\")\n+            },\n+            ACTION.SHOW_SEED: {\n+                'type': 'bool',\n+                'desc': _(\"If this checked and token_wizard is enabled, seed \"\n+                          \"will be displayed in wizard when enrolling \"\n+                          \"TOTP/HOTP token.\")","path":"privacyidea/lib/policy.py","position":null,"original_position":26,"commit_id":"68cff53f28670ca6f5c2367e2b6c8e6e5b767095","original_commit_id":"3044f2c998dbf19029d35a766c12dc07bafefec1","user":{"login":"cornelinux","id":1908620,"node_id":"MDQ6VXNlcjE5MDg2MjA=","avatar_url":"https://avatars1.githubusercontent.com/u/1908620?v=4","gravatar_id":"","url":"https://api.github.com/users/cornelinux","html_url":"https://github.com/cornelinux","followers_url":"https://api.github.com/users/cornelinux/followers","following_url":"https://api.github.com/users/cornelinux/following{/other_user}","gists_url":"https://api.github.com/users/cornelinux/gists{/gist_id}","starred_url":"https://api.github.com/users/cornelinux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cornelinux/subscriptions","organizations_url":"https://api.github.com/users/cornelinux/orgs","repos_url":"https://api.github.com/users/cornelinux/repos","events_url":"https://api.github.com/users/cornelinux/events{/privacy}","received_events_url":"https://api.github.com/users/cornelinux/received_events","type":"User","site_admin":false},"body":":+1:<a href='#crh-update-none'></a>","created_at":"2018-09-17T19:33:02Z","updated_at":"2018-09-17T19:33:02Z","html_url":"https://github.com/privacyidea/privacyidea/pull/1199#discussion_r218198473","pull_request_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments/218198473"},"html":{"href":"https://github.com/privacyidea/privacyidea/pull/1199#discussion_r218198473"},"pull_request":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199"}}},"pull_request":{"url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199","id":210799144,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEwNzk5MTQ0","html_url":"https://github.com/privacyidea/privacyidea/pull/1199","diff_url":"https://github.com/privacyidea/privacyidea/pull/1199.diff","patch_url":"https://github.com/privacyidea/privacyidea/pull/1199.patch","issue_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/1199","number":1199,"state":"open","locked":false,"title":"1131 seed in token wizard","user":{"login":"p53","id":5985348,"node_id":"MDQ6VXNlcjU5ODUzNDg=","avatar_url":"https://avatars1.githubusercontent.com/u/5985348?v=4","gravatar_id":"","url":"https://api.github.com/users/p53","html_url":"https://github.com/p53","followers_url":"https://api.github.com/users/p53/followers","following_url":"https://api.github.com/users/p53/following{/other_user}","gists_url":"https://api.github.com/users/p53/gists{/gist_id}","starred_url":"https://api.github.com/users/p53/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p53/subscriptions","organizations_url":"https://api.github.com/users/p53/orgs","repos_url":"https://api.github.com/users/p53/repos","events_url":"https://api.github.com/users/p53/events{/privacy}","received_events_url":"https://api.github.com/users/p53/received_events","type":"User","site_admin":false},"body":"https://github.com/privacyidea/privacyidea/issues/1131\n<a href='#crh-start'></a><a href='#crh-data-%7B%22processed%22%3A%20%5B%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23issuecomment-415829975%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23issuecomment-416852192%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23issuecomment-417224549%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214088332%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23issuecomment-417393409%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214692350%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214809186%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214889098%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214891161%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214891490%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215149344%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215159838%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215165634%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215165679%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r216029229%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r216029850%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r216235375%22%2C%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r216235790%22%5D%2C%20%22comments%22%3A%20%7B%22General%20Comment%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23issuecomment-415829975%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22%23%20%5BCodecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dh1%29%20Report%5Cn%3E%20Merging%20%5B%231199%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Ddesc%29%20into%20%5Bmaster%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/commit/6cf051564ab965c2c476c58f9de14c85ae92379f%3Fsrc%3Dpr%26el%3Ddesc%29%20will%20%2A%2Adecrease%2A%2A%20coverage%20by%20%600.01%25%60.%5Cn%3E%20The%20diff%20coverage%20is%20%60100%25%60.%5Cn%5Cn%5B%21%5BImpacted%20file%20tree%20graph%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/graphs/tree.svg%3Fheight%3D150%26src%3Dpr%26token%3D7nHLZki60B%26width%3D650%29%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dtree%29%5Cn%5Cn%60%60%60diff%5Cn%40%40%20%20%20%20%20%20%20%20%20%20%20%20Coverage%20Diff%20%20%20%20%20%20%20%20%20%20%20%20%20%40%40%5Cn%23%23%20%20%20%20%20%20%20%20%20%20%20master%20%20%20%20%231199%20%20%20%20%20%20%2B/-%20%20%20%23%23%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn-%20Coverage%20%20%2095.77%25%20%20%2095.76%25%20%20%20-0.02%25%20%20%20%20%20%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%20%20Files%20%20%20%20%20%20%20%20%20141%20%20%20%20%20%20141%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%20%20Lines%20%20%20%20%20%20%2017119%20%20%20%2017123%20%20%20%20%20%20%20%2B4%20%20%20%20%20%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%2B%20Hits%20%20%20%20%20%20%20%2016395%20%20%20%2016397%20%20%20%20%20%20%20%2B2%20%20%20%20%20%5Cn-%20Misses%20%20%20%20%20%20%20%20724%20%20%20%20%20%20726%20%20%20%20%20%20%20%2B2%5Cn%60%60%60%5Cn%5Cn%5Cn%7C%20%5BImpacted%20Files%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dtree%29%20%7C%20Coverage%20%5Cu0394%20%7C%20%7C%5Cn%7C---%7C---%7C---%7C%5Cn%7C%20%5Bprivacyidea/api/lib/postpolicy.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvYXBpL2xpYi9wb3N0cG9saWN5LnB5%29%20%7C%20%6096.64%25%20%3C100%25%3E%20%28%2B0.03%25%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/lib/policy.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbGliL3BvbGljeS5weQ%3D%3D%29%20%7C%20%6099.39%25%20%3C100%25%3E%20%28%5Cu00f8%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/lib/tokens/u2f.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbGliL3Rva2Vucy91MmYucHk%3D%29%20%7C%20%6094.16%25%20%3C0%25%3E%20%28-1.67%25%29%60%20%7C%20%3Aarrow_down%3A%20%7C%5Cn%5Cn------%5Cn%5Cn%5BContinue%20to%20review%20full%20report%20at%20Codecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dcontinue%29.%5Cn%3E%20%2A%2ALegend%2A%2A%20-%20%5BClick%20here%20to%20learn%20more%5D%28https%3A//docs.codecov.io/docs/codecov-delta%29%5Cn%3E%20%60%5Cu0394%20%3D%20absolute%20%3Crelative%3E%20%28impact%29%60%2C%20%60%5Cu00f8%20%3D%20not%20affected%60%2C%20%60%3F%20%3D%20missing%20data%60%5Cn%3E%20Powered%20by%20%5BCodecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dfooter%29.%20Last%20update%20%5B6cf0515...4a4ce1e%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dlastupdated%29.%20Read%20the%20%5Bcomment%20docs%5D%28https%3A//docs.codecov.io/docs/pull-request-comments%29.%5Cn%22%2C%20%22created_at%22%3A%20%222018-08-24T17%3A38%3A49Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars2.githubusercontent.com/in/254%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/apps/codecov%22%7D%7D%2C%20%7B%22body%22%3A%20%22Hi%20%40p53%2C%20thank%20you%20for%20the%20PR%21%20I%20had%20a%20quick%20first%20look%20and%20unfortunately%2C%20there%20are%20a%20lot%20of%20whitespace%20changes%2C%20probably%20due%20to%20some%20IDE.%20%3A-/%20Even%20if%20they%20might%20be%20reasonable%2C%20they%20make%20reviewing%20very%20hard.%20Could%20you%20maybe%20push%20another%20commit%20that%20reverts%20the%20whitespace%20changes%3F%22%2C%20%22created_at%22%3A%20%222018-08-29T07%3A23%3A06Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars2.githubusercontent.com/u/28243%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/fredreichbier%22%7D%7D%2C%20%7B%22body%22%3A%20%22in%20diff%20view%20there%20is%20drop%20down%20diff%20settings%20and%20there%20is%20option%20hide%20whitespace%20changes%2C%20this%20makes%20view%20nice%2C%20altough%20i%20can%20check%20why%20it%20added/remove%20so%20many%20newlines%20it%20can%20take%20some%20time%20to%20find%20the%20reason%2C%20these%20things%20are%20sometimes%20quite%20tricky%20to%20find..%22%2C%20%22created_at%22%3A%20%222018-08-30T07%3A52%3A07Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%2C%20%7B%22body%22%3A%20%22%23%20%5BCodecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dh1%29%20Report%5Cn%3E%20Merging%20%5B%231199%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Ddesc%29%20into%20%5Bmaster%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/commit/43ce2d0a20f836046bed0d6cd62a81759df0f4a1%3Fsrc%3Dpr%26el%3Ddesc%29%20will%20%2A%2Aincrease%2A%2A%20coverage%20by%20%60%3C.01%25%60.%5Cn%3E%20The%20diff%20coverage%20is%20%60100%25%60.%5Cn%5Cn%5B%21%5BImpacted%20file%20tree%20graph%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/graphs/tree.svg%3Fwidth%3D650%26token%3D7nHLZki60B%26height%3D150%26src%3Dpr%29%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dtree%29%5Cn%5Cn%60%60%60diff%5Cn%40%40%20%20%20%20%20%20%20%20%20%20%20%20Coverage%20Diff%20%20%20%20%20%20%20%20%20%20%20%20%20%40%40%5Cn%23%23%20%20%20%20%20%20%20%20%20%20%20master%20%20%20%20%231199%20%20%20%20%20%20%2B/-%20%20%20%23%23%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%2B%20Coverage%20%20%2095.75%25%20%20%2095.76%25%20%20%20%2B%3C.01%25%20%20%20%20%20%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%20%20Files%20%20%20%20%20%20%20%20%20141%20%20%20%20%20%20141%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cn%20%20Lines%20%20%20%20%20%20%2017120%20%20%20%2017128%20%20%20%20%20%20%20%2B8%20%20%20%20%20%5Cn%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%5Cn%2B%20Hits%20%20%20%20%20%20%20%2016393%20%20%20%2016402%20%20%20%20%20%20%20%2B9%20%20%20%20%20%5Cn%2B%20Misses%20%20%20%20%20%20%20%20727%20%20%20%20%20%20726%20%20%20%20%20%20%20-1%5Cn%60%60%60%5Cn%5Cn%5Cn%7C%20%5BImpacted%20Files%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dtree%29%20%7C%20Coverage%20%5Cu0394%20%7C%20%7C%5Cn%7C---%7C---%7C---%7C%5Cn%7C%20%5Bprivacyidea/lib/tokenclass.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbGliL3Rva2VuY2xhc3MucHk%3D%29%20%7C%20%6098.98%25%20%3C%5Cu00f8%3E%20%28%5Cu00f8%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/lib/tokens/hotptoken.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbGliL3Rva2Vucy9ob3RwdG9rZW4ucHk%3D%29%20%7C%20%60100%25%20%3C100%25%3E%20%28%5Cu00f8%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/lib/policy.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbGliL3BvbGljeS5weQ%3D%3D%29%20%7C%20%6099.39%25%20%3C100%25%3E%20%28%5Cu00f8%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/api/lib/postpolicy.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvYXBpL2xpYi9wb3N0cG9saWN5LnB5%29%20%7C%20%6096.64%25%20%3C100%25%3E%20%28%2B0.03%25%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%7C%20%5Bprivacyidea/lib/tokens/u2f.py%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199/diff%3Fsrc%3Dpr%26el%3Dtree%23diff-cHJpdmFjeWlkZWEvbGliL3Rva2Vucy91MmYucHk%3D%29%20%7C%20%6094.16%25%20%3C0%25%3E%20%28%2B0.83%25%29%60%20%7C%20%3Aarrow_up%3A%20%7C%5Cn%5Cn------%5Cn%5Cn%5BContinue%20to%20review%20full%20report%20at%20Codecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dcontinue%29.%5Cn%3E%20%2A%2ALegend%2A%2A%20-%20%5BClick%20here%20to%20learn%20more%5D%28https%3A//docs.codecov.io/docs/codecov-delta%29%5Cn%3E%20%60%5Cu0394%20%3D%20absolute%20%3Crelative%3E%20%28impact%29%60%2C%20%60%5Cu00f8%20%3D%20not%20affected%60%2C%20%60%3F%20%3D%20missing%20data%60%5Cn%3E%20Powered%20by%20%5BCodecov%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dfooter%29.%20Last%20update%20%5B43ce2d0...3044f2c%5D%28https%3A//codecov.io/gh/privacyidea/privacyidea/pull/1199%3Fsrc%3Dpr%26el%3Dlastupdated%29.%20Read%20the%20%5Bcomment%20docs%5D%28https%3A//docs.codecov.io/docs/pull-request-comments%29.%5Cn%22%2C%20%22created_at%22%3A%20%222018-08-30T17%3A03%3A32Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars2.githubusercontent.com/in/254%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/apps/codecov%22%7D%7D%5D%2C%20%22title%22%3A%20%22General%20Comment%22%7D%2C%20%22Pull%203044f2c998dbf19029d35a766c12dc07bafefec1%20privacyidea/static/components/token/views/token.enrolled.totp.html%209%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214809186%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22see%20above%22%2C%20%22created_at%22%3A%20%222018-09-04T07%3A20%3A25Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/1908620%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/cornelinux%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/static/components/token/views/token.enrolled.totp.html%3AL3-14%22%7D%2C%20%22Pull%203044f2c998dbf19029d35a766c12dc07bafefec1%20privacyidea/lib/tokenclass.py%2023%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215165634%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22done%22%2C%20%22created_at%22%3A%20%222018-09-05T07%3A44%3A24Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/lib/tokenclass.py%3AL1679-1683%22%7D%2C%20%22Pull%203044f2c998dbf19029d35a766c12dc07bafefec1%20privacyidea/static/components/token/controllers/tokenControllers.js%2016%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215149344%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22we%20cannot%20revert%20it%2C%20because%20we%20need%20to%20change%20size%20of%20QR%20image%20in%20case%20of%20token%20wizard%2C%20because%20token%20wizard%20shows%20500px%20image%20in%20case%20there%20is%20no%20otp%20seed%20shown%22%2C%20%22created_at%22%3A%20%222018-09-05T06%3A31%3A42Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/static/components/token/controllers/tokenControllers.js%3AL168-183%22%7D%2C%20%22Pull%20ce93d923b18da1ea6276fb324d2733934d9caae3%20privacyidea/static/components/token/views/token.enrolled.hotp.html%205%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r216029850%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22Thanks%20a%20lot%20for%20this%20PR%20and%20for%20your%20patience%21%5Cr%5Cn%5Cr%5CnI%20pulled%20it%20locally%20and%20took%20a%20look.%20However%2C%20it%20looked%20not%20right.%5Cr%5CnThe%20remaining%20text%20%5C%22Scan%20the%20QR%20code%5C%22%20should%20also%20be%20there%2C%20if%20show_seed%3DFalse.%5Cr%5CnIt%20should%20not%20be%20there%2C%20if%20the%20token%20wizard%20is%20used%2C%20because%20the%20token%20wizard%20allows%20to%20define%20text.%5Cr%5Cn%5Cr%5CnSo%20this%20section%20should%20be%20changed%20like%20this%20%28also%20for%20totp%21%29%5Cr%5Cn%5Cr%5Cn%7E%7E%7E%7Ehtml%5Cr%5Cn%20%20%20%20%3Cdiv%20class%3D%5C%22col-sm-6%5C%22%20ng-hide%3D%5C%22form%5B%272stepinit%27%5D%5C%22%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%3Caccordion%20close-others%3D%5C%22oneAtATime%5C%22%20ng-show%3D%5C%22show_seed%5C%22%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3Caccordion-group%20heading%3D%5C%22%7B%7B%20%27The%20OTP%20key%27%7Ctranslate%20%7D%7D%5C%22%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20OTP%20Key%3A%20%7B%7B%20enrolledToken.otpkey%20%7D%7D%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Hex%3A%20%7B%7B%20enrolledToken.otpkey.value%20%7D%7D%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Base32%3A%20%7B%7B%20enrolledToken.otpkey.value_b32%20%7D%7D%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%3C/accordion-group%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%3C/accordion%3E%5Cr%5Cn%5Cr%5Cn%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%5C%22col-sm-12%5C%22%20ng-hide%3D%5C%22%24state.includes%28%27token.wizard%27%29%5C%22%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%3Cp%20translate%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20Click%20%3Ca%20href%3D%5C%22%7B%7B%20enrolledToken.googleurl.value%20%7D%7D%5C%22%3Ehere%3C/a%3E%20or%20scan%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20the%20QR%20Code%2C%20if%20you%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20want%20to%20add%20the%20Token%20to%20your%20Google%20Authenticator.%5Cr%5Cn%20%20%20%20%20%20%20%20%3C/p%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%3Cp%20translate%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20The%20QR%20Code%20contains%20the%20secret%20key%20of%20your%20token.%20You%20need%20to%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20protect%20it.%20%3Cb%3EIf%20you%20are%20in%20doubt%2C%20that%20someone%20else%20saw%20it%2C%20please%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20regenerate%20the%20QR%20Code%2C%20when%20noone%20else%20is%20watching.%3C/b%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%3C/p%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%3Cbutton%20ng-click%3D%5C%22regenerateToken%28%29%5C%22%20class%3D%5C%22btn%20btn-warning%5C%22%20translate%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%20%20%20%20Regenerate%20QR%20Code%5Cr%5Cn%20%20%20%20%20%20%20%20%3C/button%3E%5Cr%5Cn%20%20%20%20%20%20%20%20%3C/div%3E%5Cr%5Cn%20%20%20%20%3C/div%3E%5Cr%5Cn%7E%7E%7E%7E%22%2C%20%22created_at%22%3A%20%222018-09-07T17%3A20%3A34Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/1908620%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/cornelinux%22%7D%7D%2C%20%7B%22body%22%3A%20%22we%20do%20want%20OTP%20Key%3A%20%7B%7B%20enrolledToken.otpkey%20%7D%7D%20here%3F%20that%20contains%20whole%20dict%22%2C%20%22created_at%22%3A%20%222018-09-10T08%3A25%3A53Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%2C%20%7B%22body%22%3A%20%22No.%20You%20are%20right.%20THis%20is%20a%20remnant.%20We%20only%20want%20Hex%20and%20Base32.%20Thanks%21%22%2C%20%22created_at%22%3A%20%222018-09-10T08%3A27%3A35Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/1908620%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/cornelinux%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/static/components/token/views/token.enrolled.hotp.html%3AL3-14%22%7D%2C%20%22Pull%203044f2c998dbf19029d35a766c12dc07bafefec1%20privacyidea/lib/tokens/hotptoken.py%2016%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214889098%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22when%20i%20will%20give%20unhexlify%20to%20tokenclass%20some%20tests%20will%20fail%2C%20because%20e.g.%20registration%20token%2C%20also%20goes%20also%20through%20this%20method%2C%20some%20tokens%20are%20not%20in%20binary%20form...%2C%20so%20either%20we%20will%20give%20this%20for%20hotp%20token%20or%20we%20will%20need%20to%20check%20and%20modify%20each%20token%22%2C%20%22created_at%22%3A%20%222018-09-04T12%3A09%3A20Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%2C%20%7B%22body%22%3A%20%22OK.%20Happily%20this%20is%20object%20oriented.%20So%20we%20could%20inherit%20the%20method%20%60%60get_init_detail%60%60%20in%20hotp%20and%20totp%20class%20like%20this%3A%5Cr%5Cn%5Cr%5Cn%7E%7E%7E%7Epython%5Cr%5Cndef%20get_init_detail%28self%2C%20params%3DNone%2C%20user%3DNone%29%5Cr%5Cn%20%20%20%20response_detail%20%3D%20TokenClass.get_init_detail%28params%2C%20user%29%5Cr%5Cn%20%20%20%20%23%20somehow%20add%20the%20base32%20encoding...%5Cr%5Cn%20%20%20%20return%20response_detail%5Cr%5Cn%7E%7E%7E%7E%22%2C%20%22created_at%22%3A%20%222018-09-04T12%3A18%3A05Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/1908620%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/cornelinux%22%7D%7D%2C%20%7B%22body%22%3A%20%22we%20only%20need%20to%20do%20this%20in%20HOTP%20class%2C%20since%20TOTP%20is%20inherited%20from%20HOTP.%20%3A-%29%22%2C%20%22created_at%22%3A%20%222018-09-04T12%3A19%3A14Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/1908620%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/cornelinux%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/lib/tokens/hotptoken.py%3AL256-274%22%7D%2C%20%22Pull%203044f2c998dbf19029d35a766c12dc07bafefec1%20privacyidea/static/components/token/views/token.enrolled.hotp.html%208%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215159838%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22not%20sure%20here%20should%20i%20leave%20in%20otpkey.value%20seed%3A//%20prefix%3F%20If%20not%20we%20will%20need%20to%20fix%20also%20some%20tests%22%2C%20%22created_at%22%3A%20%222018-09-05T07%3A21%3A59Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/static/components/token/views/token.enrolled.hotp.html%3AL3-14%22%7D%2C%20%22Pull%20ce93d923b18da1ea6276fb324d2733934d9caae3%20privacyidea/lib/tokens/hotptoken.py%2013%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r216029229%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22This%20block%20%28line%20260-264%29%20did%20not%20get%20executed%20for%20me%2C%20because%20the%20%60%60cr_oath%60%60%20failed%20with%20an%20exception.%20So%20in%20my%20special%20case%20this%20block%20was%20not%20called.%20%5Cr%5CnI%20recommend%20moving%20this%20block%20up%20to%20line%20224%20-%20before%20%60%60cr_google%60%60.%22%2C%20%22created_at%22%3A%20%222018-09-07T17%3A18%3A09Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/1908620%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/cornelinux%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/lib/tokens/hotptoken.py%3AL256-272%22%7D%2C%20%22Pull%203044f2c998dbf19029d35a766c12dc07bafefec1%20privacyidea/lib/policy.py%2026%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r215165679%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22done%22%2C%20%22created_at%22%3A%20%222018-09-05T07%3A44%3A36Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/lib/policy.py%3AL1757-1769%22%7D%2C%20%22Pull%208a8fef3f0a1fbe423df62d821281bda4a2bf999f%20privacyidea/lib/tokenclass.py%20139%22%3A%20%7B%22html_url%22%3A%20%22https%3A//github.com/privacyidea/privacyidea/pull/1199%23discussion_r214088332%22%2C%20%22comments%22%3A%20%5B%7B%22body%22%3A%20%22Please%20do%20not%20mix%20up%20topics%20in%20pull%20requests.%5Cr%5CnBesides%20-%20I%20think%20this%20is%20correct%20here%2C%20since%20other%20tokens%20could%20need%20a%20secret%20key%2C%20too.%5Cr%5Cn%22%2C%20%22created_at%22%3A%20%222018-08-30T15%3A59%3A54Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/1908620%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/cornelinux%22%7D%7D%2C%20%7B%22body%22%3A%20%22done%22%2C%20%22created_at%22%3A%20%222018-09-03T13%3A38%3A10Z%22%2C%20%22user%22%3A%20%7B%22avatar_url%22%3A%20%22https%3A//avatars1.githubusercontent.com/u/5985348%3Fv%3D4%22%2C%20%22html_url%22%3A%20%22https%3A//github.com/p53%22%7D%7D%5D%2C%20%22title%22%3A%20%22File%3A%20privacyidea/lib/tokenclass.py%3AL1287-1293%22%7D%7D%7D'></a>\n<a href='https://www.codereviewhub.com/'><img src='http://www.codereviewhub.com/site/github-bar.png' height=40></a>\n- [x] <a href='#crh-comment-General Comment'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#issuecomment-415829975'>General Comment</a></b>\n- <a href='https://github.com/apps/codecov'><img border=0 src='https://avatars2.githubusercontent.com/in/254?v=4' height=16 width=16></a> # [Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=h1) Report\n> Merging [#1199](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=desc) into [master](https://codecov.io/gh/privacyidea/privacyidea/commit/6cf051564ab965c2c476c58f9de14c85ae92379f?src=pr&el=desc) will **decrease** coverage by `0.01%`.\n> The diff coverage is `100%`.\n[![Impacted file tree graph](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/graphs/tree.svg?height=150&src=pr&token=7nHLZki60B&width=650)](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=tree)\n```diff\n@@            Coverage Diff             @@\n##           master    #1199      +/-   ##\n==========================================\n- Coverage   95.77%   95.76%   -0.02%\n==========================================\nFiles         141      141\nLines       17119    17123       +4\n==========================================\n+ Hits        16395    16397       +2\n- Misses        724      726       +2\n```\n| [Impacted Files](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [privacyidea/api/lib/postpolicy.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvYXBpL2xpYi9wb3N0cG9saWN5LnB5) | `96.64% <100%> (+0.03%)` | :arrow_up: |\n| [privacyidea/lib/policy.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbGliL3BvbGljeS5weQ==) | `99.39% <100%> (ø)` | :arrow_up: |\n| [privacyidea/lib/tokens/u2f.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbGliL3Rva2Vucy91MmYucHk=) | `94.16% <0%> (-1.67%)` | :arrow_down: |\n------\n[Continue to review full report at Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=footer). Last update [6cf0515...4a4ce1e](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n- <a href='https://github.com/fredreichbier'><img border=0 src='https://avatars2.githubusercontent.com/u/28243?v=4' height=16 width=16></a> Hi @p53, thank you for the PR! I had a quick first look and unfortunately, there are a lot of whitespace changes, probably due to some IDE. :-/ Even if they might be reasonable, they make reviewing very hard. Could you maybe push another commit that reverts the whitespace changes?\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> in diff view there is drop down diff settings and there is option hide whitespace changes, this makes view nice, altough i can check why it added/remove so many newlines it can take some time to find the reason, these things are sometimes quite tricky to find..\n- <a href='https://github.com/apps/codecov'><img border=0 src='https://avatars2.githubusercontent.com/in/254?v=4' height=16 width=16></a> # [Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=h1) Report\n> Merging [#1199](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=desc) into [master](https://codecov.io/gh/privacyidea/privacyidea/commit/43ce2d0a20f836046bed0d6cd62a81759df0f4a1?src=pr&el=desc) will **increase** coverage by `<.01%`.\n> The diff coverage is `100%`.\n[![Impacted file tree graph](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/graphs/tree.svg?width=650&token=7nHLZki60B&height=150&src=pr)](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=tree)\n```diff\n@@            Coverage Diff             @@\n##           master    #1199      +/-   ##\n==========================================\n+ Coverage   95.75%   95.76%   +<.01%\n==========================================\nFiles         141      141\nLines       17120    17128       +8\n==========================================\n+ Hits        16393    16402       +9\n+ Misses        727      726       -1\n```\n| [Impacted Files](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [privacyidea/lib/tokenclass.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbGliL3Rva2VuY2xhc3MucHk=) | `98.98% <ø> (ø)` | :arrow_up: |\n| [privacyidea/lib/tokens/hotptoken.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbGliL3Rva2Vucy9ob3RwdG9rZW4ucHk=) | `100% <100%> (ø)` | :arrow_up: |\n| [privacyidea/lib/policy.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbGliL3BvbGljeS5weQ==) | `99.39% <100%> (ø)` | :arrow_up: |\n| [privacyidea/api/lib/postpolicy.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvYXBpL2xpYi9wb3N0cG9saWN5LnB5) | `96.64% <100%> (+0.03%)` | :arrow_up: |\n| [privacyidea/lib/tokens/u2f.py](https://codecov.io/gh/privacyidea/privacyidea/pull/1199/diff?src=pr&el=tree#diff-cHJpdmFjeWlkZWEvbGliL3Rva2Vucy91MmYucHk=) | `94.16% <0%> (+0.83%)` | :arrow_up: |\n------\n[Continue to review full report at Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=footer). Last update [43ce2d0...3044f2c](https://codecov.io/gh/privacyidea/privacyidea/pull/1199?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n- [x] <a href='#crh-comment-Pull 8a8fef3f0a1fbe423df62d821281bda4a2bf999f privacyidea/lib/tokenclass.py 139'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r214088332'>File: privacyidea/lib/tokenclass.py:L1287-1293</a></b>\n- <a href='https://github.com/cornelinux'><img border=0 src='https://avatars1.githubusercontent.com/u/1908620?v=4' height=16 width=16></a> Please do not mix up topics in pull requests.\nBesides - I think this is correct here, since other tokens could need a secret key, too.\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> done\n- [x] <a href='#crh-comment-Pull 3044f2c998dbf19029d35a766c12dc07bafefec1 privacyidea/static/components/token/views/token.enrolled.totp.html 9'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r214809186'>File: privacyidea/static/components/token/views/token.enrolled.totp.html:L3-14</a></b>\n- <a href='https://github.com/cornelinux'><img border=0 src='https://avatars1.githubusercontent.com/u/1908620?v=4' height=16 width=16></a> see above\n- [x] <a href='#crh-comment-Pull 3044f2c998dbf19029d35a766c12dc07bafefec1 privacyidea/lib/tokens/hotptoken.py 16'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r214889098'>File: privacyidea/lib/tokens/hotptoken.py:L256-274</a></b>\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> when i will give unhexlify to tokenclass some tests will fail, because e.g. registration token, also goes also through this method, some tokens are not in binary form..., so either we will give this for hotp token or we will need to check and modify each token\n- <a href='https://github.com/cornelinux'><img border=0 src='https://avatars1.githubusercontent.com/u/1908620?v=4' height=16 width=16></a> OK. Happily this is object oriented. So we could inherit the method ``get_init_detail`` in hotp and totp class like this:\n~~~~python\ndef get_init_detail(self, params=None, user=None)\nresponse_detail = TokenClass.get_init_detail(params, user)\n# somehow add the base32 encoding...\nreturn response_detail\n~~~~\n- <a href='https://github.com/cornelinux'><img border=0 src='https://avatars1.githubusercontent.com/u/1908620?v=4' height=16 width=16></a> we only need to do this in HOTP class, since TOTP is inherited from HOTP. :-)\n- [x] <a href='#crh-comment-Pull 3044f2c998dbf19029d35a766c12dc07bafefec1 privacyidea/static/components/token/controllers/tokenControllers.js 16'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r215149344'>File: privacyidea/static/components/token/controllers/tokenControllers.js:L168-183</a></b>\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> we cannot revert it, because we need to change size of QR image in case of token wizard, because token wizard shows 500px image in case there is no otp seed shown\n- [x] <a href='#crh-comment-Pull 3044f2c998dbf19029d35a766c12dc07bafefec1 privacyidea/static/components/token/views/token.enrolled.hotp.html 8'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r215159838'>File: privacyidea/static/components/token/views/token.enrolled.hotp.html:L3-14</a></b>\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> not sure here should i leave in otpkey.value seed:// prefix? If not we will need to fix also some tests\n- [x] <a href='#crh-comment-Pull 3044f2c998dbf19029d35a766c12dc07bafefec1 privacyidea/lib/tokenclass.py 23'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r215165634'>File: privacyidea/lib/tokenclass.py:L1679-1683</a></b>\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> done\n- [x] <a href='#crh-comment-Pull 3044f2c998dbf19029d35a766c12dc07bafefec1 privacyidea/lib/policy.py 26'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r215165679'>File: privacyidea/lib/policy.py:L1757-1769</a></b>\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> done\n- [x] <a href='#crh-comment-Pull ce93d923b18da1ea6276fb324d2733934d9caae3 privacyidea/lib/tokens/hotptoken.py 13'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r216029229'>File: privacyidea/lib/tokens/hotptoken.py:L256-272</a></b>\n- <a href='https://github.com/cornelinux'><img border=0 src='https://avatars1.githubusercontent.com/u/1908620?v=4' height=16 width=16></a> This block (line 260-264) did not get executed for me, because the ``cr_oath`` failed with an exception. So in my special case this block was not called.\nI recommend moving this block up to line 224 - before ``cr_google``.\n- [x] <a href='#crh-comment-Pull ce93d923b18da1ea6276fb324d2733934d9caae3 privacyidea/static/components/token/views/token.enrolled.hotp.html 5'></a> <img src='http://www.codereviewhub.com/site/github-remaining.png' height=16 width=60>&nbsp;<b><a href='https://github.com/privacyidea/privacyidea/pull/1199#discussion_r216029850'>File: privacyidea/static/components/token/views/token.enrolled.hotp.html:L3-14</a></b>\n- <a href='https://github.com/cornelinux'><img border=0 src='https://avatars1.githubusercontent.com/u/1908620?v=4' height=16 width=16></a> Thanks a lot for this PR and for your patience!\nI pulled it locally and took a look. However, it looked not right.\nThe remaining text \"Scan the QR code\" should also be there, if show_seed=False.\nIt should not be there, if the token wizard is used, because the token wizard allows to define text.\nSo this section should be changed like this (also for totp!)\n~~~~html\n<div class=\"col-sm-6\" ng-hide=\"form['2stepinit']\">\n<accordion close-others=\"oneAtATime\" ng-show=\"show_seed\">\n<accordion-group heading=\"{{ 'The OTP key'|translate }}\">\nOTP Key: {{ enrolledToken.otpkey }}\nHex: {{ enrolledToken.otpkey.value }}\nBase32: {{ enrolledToken.otpkey.value_b32 }}\n</accordion-group>\n</accordion>\n<div class=\"col-sm-12\" ng-hide=\"$state.includes('token.wizard')\">\n<p translate>\nClick <a href=\"{{ enrolledToken.googleurl.value }}\">here</a> or scan\nthe QR Code, if you\nwant to add the Token to your Google Authenticator.\n</p>\n<p translate>\nThe QR Code contains the secret key of your token. You need to\nprotect it. <b>If you are in doubt, that someone else saw it, please\nregenerate the QR Code, when noone else is watching.</b>\n</p>\n<button ng-click=\"regenerateToken()\" class=\"btn btn-warning\" translate>\nRegenerate QR Code\n</button>\n</div>\n</div>\n~~~~\n- <a href='https://github.com/p53'><img border=0 src='https://avatars1.githubusercontent.com/u/5985348?v=4' height=16 width=16></a> we do want OTP Key: {{ enrolledToken.otpkey }} here? that contains whole dict\n- <a href='https://github.com/cornelinux'><img border=0 src='https://avatars1.githubusercontent.com/u/1908620?v=4' height=16 width=16></a> No. You are right. THis is a remnant. We only want Hex and Base32. Thanks!\n\n\n<a href='https://www.codereviewhub.com/privacyidea/privacyidea/pull/1199?mark_as_completed=1'><img src='http://www.codereviewhub.com/site/github-mark-as-completed.png' height=26></a>&nbsp;<a href='https://www.codereviewhub.com/privacyidea/privacyidea/pull/1199?approve=1'><img src='http://www.codereviewhub.com/site/github-approve.png' height=26></a>&nbsp;<a href='https://github.com/privacyidea/privacyidea/pull/1199'><img src='http://www.codereviewhub.com/site/github-refresh.png' height=26></a>\n<a href='#crh-end'></a>","created_at":"2018-08-24T17:14:56Z","updated_at":"2018-09-17T19:33:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"367efe465f8415bb63c811fac8dc80ecdc894984","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199/commits","review_comments_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199/comments","review_comment_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments{/number}","comments_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/1199/comments","statuses_url":"https://api.github.com/repos/privacyidea/privacyidea/statuses/68cff53f28670ca6f5c2367e2b6c8e6e5b767095","head":{"label":"p53:1131-seed","ref":"1131-seed","sha":"68cff53f28670ca6f5c2367e2b6c8e6e5b767095","user":{"login":"p53","id":5985348,"node_id":"MDQ6VXNlcjU5ODUzNDg=","avatar_url":"https://avatars1.githubusercontent.com/u/5985348?v=4","gravatar_id":"","url":"https://api.github.com/users/p53","html_url":"https://github.com/p53","followers_url":"https://api.github.com/users/p53/followers","following_url":"https://api.github.com/users/p53/following{/other_user}","gists_url":"https://api.github.com/users/p53/gists{/gist_id}","starred_url":"https://api.github.com/users/p53/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p53/subscriptions","organizations_url":"https://api.github.com/users/p53/orgs","repos_url":"https://api.github.com/users/p53/repos","events_url":"https://api.github.com/users/p53/events{/privacy}","received_events_url":"https://api.github.com/users/p53/received_events","type":"User","site_admin":false},"repo":{"id":120604175,"node_id":"MDEwOlJlcG9zaXRvcnkxMjA2MDQxNzU=","name":"privacyidea","full_name":"p53/privacyidea","private":false,"owner":{"login":"p53","id":5985348,"node_id":"MDQ6VXNlcjU5ODUzNDg=","avatar_url":"https://avatars1.githubusercontent.com/u/5985348?v=4","gravatar_id":"","url":"https://api.github.com/users/p53","html_url":"https://github.com/p53","followers_url":"https://api.github.com/users/p53/followers","following_url":"https://api.github.com/users/p53/following{/other_user}","gists_url":"https://api.github.com/users/p53/gists{/gist_id}","starred_url":"https://api.github.com/users/p53/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p53/subscriptions","organizations_url":"https://api.github.com/users/p53/orgs","repos_url":"https://api.github.com/users/p53/repos","events_url":"https://api.github.com/users/p53/events{/privacy}","received_events_url":"https://api.github.com/users/p53/received_events","type":"User","site_admin":false},"html_url":"https://github.com/p53/privacyidea","description":":closed_lock_with_key: multi factor authentication system (2FA, MFA, OTP Server)","fork":true,"url":"https://api.github.com/repos/p53/privacyidea","forks_url":"https://api.github.com/repos/p53/privacyidea/forks","keys_url":"https://api.github.com/repos/p53/privacyidea/keys{/key_id}","collaborators_url":"https://api.github.com/repos/p53/privacyidea/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/p53/privacyidea/teams","hooks_url":"https://api.github.com/repos/p53/privacyidea/hooks","issue_events_url":"https://api.github.com/repos/p53/privacyidea/issues/events{/number}","events_url":"https://api.github.com/repos/p53/privacyidea/events","assignees_url":"https://api.github.com/repos/p53/privacyidea/assignees{/user}","branches_url":"https://api.github.com/repos/p53/privacyidea/branches{/branch}","tags_url":"https://api.github.com/repos/p53/privacyidea/tags","blobs_url":"https://api.github.com/repos/p53/privacyidea/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/p53/privacyidea/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/p53/privacyidea/git/refs{/sha}","trees_url":"https://api.github.com/repos/p53/privacyidea/git/trees{/sha}","statuses_url":"https://api.github.com/repos/p53/privacyidea/statuses/{sha}","languages_url":"https://api.github.com/repos/p53/privacyidea/languages","stargazers_url":"https://api.github.com/repos/p53/privacyidea/stargazers","contributors_url":"https://api.github.com/repos/p53/privacyidea/contributors","subscribers_url":"https://api.github.com/repos/p53/privacyidea/subscribers","subscription_url":"https://api.github.com/repos/p53/privacyidea/subscription","commits_url":"https://api.github.com/repos/p53/privacyidea/commits{/sha}","git_commits_url":"https://api.github.com/repos/p53/privacyidea/git/commits{/sha}","comments_url":"https://api.github.com/repos/p53/privacyidea/comments{/number}","issue_comment_url":"https://api.github.com/repos/p53/privacyidea/issues/comments{/number}","contents_url":"https://api.github.com/repos/p53/privacyidea/contents/{+path}","compare_url":"https://api.github.com/repos/p53/privacyidea/compare/{base}...{head}","merges_url":"https://api.github.com/repos/p53/privacyidea/merges","archive_url":"https://api.github.com/repos/p53/privacyidea/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/p53/privacyidea/downloads","issues_url":"https://api.github.com/repos/p53/privacyidea/issues{/number}","pulls_url":"https://api.github.com/repos/p53/privacyidea/pulls{/number}","milestones_url":"https://api.github.com/repos/p53/privacyidea/milestones{/number}","notifications_url":"https://api.github.com/repos/p53/privacyidea/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/p53/privacyidea/labels{/name}","releases_url":"https://api.github.com/repos/p53/privacyidea/releases{/id}","deployments_url":"https://api.github.com/repos/p53/privacyidea/deployments","created_at":"2018-02-07T11:04:10Z","updated_at":"2018-04-04T10:06:22Z","pushed_at":"2018-09-17T19:32:18Z","git_url":"git://github.com/p53/privacyidea.git","ssh_url":"git@github.com:p53/privacyidea.git","clone_url":"https://github.com/p53/privacyidea.git","svn_url":"https://github.com/p53/privacyidea","homepage":"http://www.privacyidea.org","size":27544,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"privacyidea:master","ref":"master","sha":"aded3ad61a281412f761023430219f59debb4c96","user":{"login":"privacyidea","id":7519615,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1MTk2MTU=","avatar_url":"https://avatars3.githubusercontent.com/u/7519615?v=4","gravatar_id":"","url":"https://api.github.com/users/privacyidea","html_url":"https://github.com/privacyidea","followers_url":"https://api.github.com/users/privacyidea/followers","following_url":"https://api.github.com/users/privacyidea/following{/other_user}","gists_url":"https://api.github.com/users/privacyidea/gists{/gist_id}","starred_url":"https://api.github.com/users/privacyidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privacyidea/subscriptions","organizations_url":"https://api.github.com/users/privacyidea/orgs","repos_url":"https://api.github.com/users/privacyidea/repos","events_url":"https://api.github.com/users/privacyidea/events{/privacy}","received_events_url":"https://api.github.com/users/privacyidea/received_events","type":"Organization","site_admin":false},"repo":{"id":20446681,"node_id":"MDEwOlJlcG9zaXRvcnkyMDQ0NjY4MQ==","name":"privacyidea","full_name":"privacyidea/privacyidea","private":false,"owner":{"login":"privacyidea","id":7519615,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc1MTk2MTU=","avatar_url":"https://avatars3.githubusercontent.com/u/7519615?v=4","gravatar_id":"","url":"https://api.github.com/users/privacyidea","html_url":"https://github.com/privacyidea","followers_url":"https://api.github.com/users/privacyidea/followers","following_url":"https://api.github.com/users/privacyidea/following{/other_user}","gists_url":"https://api.github.com/users/privacyidea/gists{/gist_id}","starred_url":"https://api.github.com/users/privacyidea/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privacyidea/subscriptions","organizations_url":"https://api.github.com/users/privacyidea/orgs","repos_url":"https://api.github.com/users/privacyidea/repos","events_url":"https://api.github.com/users/privacyidea/events{/privacy}","received_events_url":"https://api.github.com/users/privacyidea/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/privacyidea/privacyidea","description":":closed_lock_with_key: multi factor authentication system (2FA, MFA, OTP Server)","fork":false,"url":"https://api.github.com/repos/privacyidea/privacyidea","forks_url":"https://api.github.com/repos/privacyidea/privacyidea/forks","keys_url":"https://api.github.com/repos/privacyidea/privacyidea/keys{/key_id}","collaborators_url":"https://api.github.com/repos/privacyidea/privacyidea/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/privacyidea/privacyidea/teams","hooks_url":"https://api.github.com/repos/privacyidea/privacyidea/hooks","issue_events_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/events{/number}","events_url":"https://api.github.com/repos/privacyidea/privacyidea/events","assignees_url":"https://api.github.com/repos/privacyidea/privacyidea/assignees{/user}","branches_url":"https://api.github.com/repos/privacyidea/privacyidea/branches{/branch}","tags_url":"https://api.github.com/repos/privacyidea/privacyidea/tags","blobs_url":"https://api.github.com/repos/privacyidea/privacyidea/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/privacyidea/privacyidea/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/privacyidea/privacyidea/git/refs{/sha}","trees_url":"https://api.github.com/repos/privacyidea/privacyidea/git/trees{/sha}","statuses_url":"https://api.github.com/repos/privacyidea/privacyidea/statuses/{sha}","languages_url":"https://api.github.com/repos/privacyidea/privacyidea/languages","stargazers_url":"https://api.github.com/repos/privacyidea/privacyidea/stargazers","contributors_url":"https://api.github.com/repos/privacyidea/privacyidea/contributors","subscribers_url":"https://api.github.com/repos/privacyidea/privacyidea/subscribers","subscription_url":"https://api.github.com/repos/privacyidea/privacyidea/subscription","commits_url":"https://api.github.com/repos/privacyidea/privacyidea/commits{/sha}","git_commits_url":"https://api.github.com/repos/privacyidea/privacyidea/git/commits{/sha}","comments_url":"https://api.github.com/repos/privacyidea/privacyidea/comments{/number}","issue_comment_url":"https://api.github.com/repos/privacyidea/privacyidea/issues/comments{/number}","contents_url":"https://api.github.com/repos/privacyidea/privacyidea/contents/{+path}","compare_url":"https://api.github.com/repos/privacyidea/privacyidea/compare/{base}...{head}","merges_url":"https://api.github.com/repos/privacyidea/privacyidea/merges","archive_url":"https://api.github.com/repos/privacyidea/privacyidea/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/privacyidea/privacyidea/downloads","issues_url":"https://api.github.com/repos/privacyidea/privacyidea/issues{/number}","pulls_url":"https://api.github.com/repos/privacyidea/privacyidea/pulls{/number}","milestones_url":"https://api.github.com/repos/privacyidea/privacyidea/milestones{/number}","notifications_url":"https://api.github.com/repos/privacyidea/privacyidea/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/privacyidea/privacyidea/labels{/name}","releases_url":"https://api.github.com/repos/privacyidea/privacyidea/releases{/id}","deployments_url":"https://api.github.com/repos/privacyidea/privacyidea/deployments","created_at":"2014-06-03T14:47:02Z","updated_at":"2018-09-17T13:58:00Z","pushed_at":"2018-09-17T19:32:19Z","git_url":"git://github.com/privacyidea/privacyidea.git","ssh_url":"git@github.com:privacyidea/privacyidea.git","clone_url":"https://github.com/privacyidea/privacyidea.git","svn_url":"https://github.com/privacyidea/privacyidea","homepage":"http://www.privacyidea.org","size":27572,"stargazers_count":468,"watchers_count":468,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":128,"mirror_url":null,"archived":false,"open_issues_count":110,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0","node_id":"MDc6TGljZW5zZTE="},"forks":128,"open_issues":110,"watchers":468,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199"},"html":{"href":"https://github.com/privacyidea/privacyidea/pull/1199"},"issue":{"href":"https://api.github.com/repos/privacyidea/privacyidea/issues/1199"},"comments":{"href":"https://api.github.com/repos/privacyidea/privacyidea/issues/1199/comments"},"review_comments":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199/comments"},"review_comment":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/privacyidea/privacyidea/pulls/1199/commits"},"statuses":{"href":"https://api.github.com/repos/privacyidea/privacyidea/statuses/68cff53f28670ca6f5c2367e2b6c8e6e5b767095"}},"author_association":"NONE"}}
{"actor":{"display_login":"cornelinux"}}